List of usage examples for org.jfree.chart LegendItem getLabel
public String getLabel()
From source file:com.hmsinc.epicenter.webapp.chart.ChartService.java
/** * @param chart/* ww w.ja va 2s . com*/ * @return */ private static void configureTitleAndLegend(final JFreeChart chart, final AbstractChart adapter) { final TextTitle title = chart.getTitle(); if (title != null) { title.setFont(new Font("Arial", Font.BOLD, 12)); // title.setBackgroundPaint(Color.CYAN); title.setTextAlignment(HorizontalAlignment.LEFT); title.setHorizontalAlignment(HorizontalAlignment.CENTER); title.setMargin(0, 4, 5, 6); } if (chart.getLegend() != null) { chart.removeLegend(); final LegendTitle legend = new LegendTitle(chart.getPlot(), new SNColumnArrangement(0, 0), new ColumnArrangement(HorizontalAlignment.CENTER, VerticalAlignment.CENTER, 0, 0)); legend.setItemFont(LEGEND_FONT); legend.setPosition(RectangleEdge.BOTTOM); legend.setHorizontalAlignment(HorizontalAlignment.CENTER); legend.setBackgroundPaint(Color.WHITE); legend.setFrame(new LineBorder()); legend.setMargin(0, 4, 5, 6); chart.addLegend(legend); // Now we'll try to remove any duplicate items from the legend.. final Map<String, Integer> keys = new HashMap<String, Integer>(); final LegendItemCollection items = new LegendItemCollection(); for (LegendItemSource source : legend.getSources()) { for (int i = 0; i < source.getLegendItems().getItemCount(); i++) { final LegendItem item = source.getLegendItems().get(i); if (!keys.containsKey(item.getLabel())) { keys.put(item.getLabel(), i); items.add(item); } } } legend.setSources(new LegendItemSource[] { new LegendItemSource() { /* * (non-Javadoc) * * @see org.jfree.chart.LegendItemSource#getLegendItems() */ public LegendItemCollection getLegendItems() { return items; } } }); } }
From source file:org.owasp.benchmark.score.report.LegendXYItemLabelGenerator.java
@Override public String generateLabel(XYDataset dataset, int series, int item) { LegendItem legendItem = legendItems.get(item); return legendItem.getLabel(); }
From source file:net.sf.dynamicreports.test.jasper.chart.ChartSeriesColorsByNameTest.java
@Override public void test() { super.test(); numberOfPagesTest(1);//w ww .j a va2 s .c o m chartCountTest("summary.chart1", 1); JFreeChart chart = getChart("summary.chart1", 0); CategoryItemRenderer renderer1 = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } chartCountTest("summary.chart2", 1); chart = getChart("summary.chart2", 0); CategoryItemRenderer renderer2 = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset2 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset2.getRowCount(); i++) { String key = (String) dataset2.getRowKey(i); key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer2.getSeriesPaint(i)); } for (int i = 0; i < chart.getCategoryPlot().getFixedLegendItems().getItemCount(); i++) { LegendItem legendItem = chart.getCategoryPlot().getFixedLegendItems().get(i); Assert.assertNotNull("null series color", colors.get(legendItem.getLabel())); Assert.assertEquals("series color", colors.get(legendItem.getLabel()), legendItem.getFillPaint()); } chartCountTest("summary.chart3", 1); chart = getChart("summary.chart3", 0); PiePlot plot3 = (PiePlot) chart.getPlot(); PieDataset dataset3 = plot3.getDataset(); for (int i = 0; i < dataset3.getItemCount(); i++) { String key = (String) dataset3.getKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), plot3.getSectionPaint(key)); } chartCountTest("summary.chart4", 1); chart = getChart("summary.chart4", 0); XYItemRenderer renderer4 = chart.getXYPlot().getRenderer(); XYDataset dataset4 = chart.getXYPlot().getDataset(); for (int i = 0; i < dataset4.getSeriesCount(); i++) { String key = (String) dataset4.getSeriesKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer4.getSeriesPaint(i)); } }
From source file:com.haskins.cloudtrailviewer.sidebar.EventsChart.java
@Override public void update() { String source = customGroup.getSelection().getActionCommand(); String actionCommand = topGroup.getSelection().getActionCommand(); int periodPos = actionCommand.indexOf("."); String topStr = actionCommand.substring(periodPos + 1); int top = Integer.parseInt(topStr); List<Map.Entry<String, Integer>> chartEvents = ChartUtils.getTopEvents(eventDb.getEvents(), top, source); chartCards.removeAll();//w w w. j a v a 2s . c om String style = styleGroup.getSelection().getActionCommand(); String orientationCommand = orientationGroup.getSelection().getActionCommand(); PlotOrientation orientation = PlotOrientation.VERTICAL; if (orientationCommand.contains("horizontal")) { orientation = PlotOrientation.HORIZONTAL; } ChartPanel cp = ChartFactory.createChart(style, chartEvents, 320, 240, orientation); chartCards.add(cp, ""); chartCards.revalidate(); for (int i = defaultTableModel.getRowCount() - 1; i >= 0; i--) { defaultTableModel.removeRow(i); } LegendItemCollection legendItems = ((ChartPanel) chartCards.getComponent(0)).getChart().getPlot() .getLegendItems(); for (Map.Entry entry : chartEvents) { Color col = null; String key = (String) entry.getKey(); for (int i = 0; i < legendItems.getItemCount(); i++) { LegendItem item = legendItems.get(i); if (item.getLabel().equalsIgnoreCase(key)) { col = (Color) item.getFillPaint(); } } defaultTableModel.addRow(new Object[] { col, key, entry.getValue() }); } }
From source file:unalcol.termites.boxplots.ECALMessages.java
private LegendTitle modifyLegend(JFreeChart chart, CategoryPlot plot) { LegendTitle legend = chart.getLegend(); chart.removeLegend();/* w ww . j av a2 s .c o m*/ LegendItemSource[] items = legend.getSources(); for (LegendItemSource item : items) { //LegendItemCollection collection = items[i].getLegendItems(); LegendItemCollection collection = plot.getLegendItems(); for (Iterator iter = collection.iterator(); iter.hasNext();) { LegendItem element = (LegendItem) iter.next(); System.out.println(" ## #" + element.getLabel()); } } return legend; }
From source file:com.haskins.cloudtrailviewer.sidebar.AbstractChart.java
/** * updates the chart, changing the menus if needed and updating the contents * of the Key table./* w w w. ja v a2 s. c o m*/ * @param chartData */ void updateChart(List<Map.Entry<String, Integer>> chartData) { chartCards.removeAll(); for (int i = defaultTableModel.getRowCount() - 1; i >= 0; i--) { defaultTableModel.removeRow(i); } if (chartData != null && chartData.size() > 0) { String style = styleGroup.getSelection().getActionCommand(); String orientationCommand = orientationGroup.getSelection().getActionCommand(); PlotOrientation orientation = PlotOrientation.VERTICAL; if (orientationCommand.contains("horizontal")) { orientation = PlotOrientation.HORIZONTAL; } ChartPanel cp = ChartFactory.createChart(style, chartData, 320, 240, orientation); chartCards.add(cp, ""); chartCards.revalidate(); LegendItemCollection legendItems = ((ChartPanel) chartCards.getComponent(0)).getChart().getPlot() .getLegendItems(); for (Map.Entry entry : chartData) { Color col = null; String key = (String) entry.getKey(); for (int i = 0; i < legendItems.getItemCount(); i++) { LegendItem item = legendItems.get(i); if (item.getLabel().equalsIgnoreCase(key)) { col = (Color) item.getFillPaint(); } } if (key.contains(":i-")) { int posColon = key.indexOf(':'); key = key.substring(posColon + 1); } defaultTableModel.addRow(new Object[] { col, key, entry.getValue() }); } } }
From source file:com.haskins.cloudtrailviewer.sidebar.EventsStats.java
private void updateChart() { String source = sourceGroup.getSelection().getActionCommand(); String actionCommand = topGroup.getSelection().getActionCommand(); int periodPos = actionCommand.indexOf("."); String topStr = actionCommand.substring(periodPos + 1); int top = Integer.parseInt(topStr); List<Map.Entry<String, Integer>> chartEvents = ChartUtils.getTopEvents(eventDb.getEvents(), top, source); chartCards.removeAll();// ww w.j ava 2s . co m String style = styleGroup.getSelection().getActionCommand(); String orientationCommand = orientationGroup.getSelection().getActionCommand(); PlotOrientation orientation = PlotOrientation.VERTICAL; if (orientationCommand.contains("horizontal")) { orientation = PlotOrientation.HORIZONTAL; } ChartPanel cp = ChartFactory.createChart(style, chartEvents, 320, 240, orientation); chartCards.add(cp, ""); chartCards.revalidate(); for (int i = defaultTableModel.getRowCount() - 1; i >= 0; i--) { defaultTableModel.removeRow(i); } LegendItemCollection legendItems = ((ChartPanel) chartCards.getComponent(0)).getChart().getPlot() .getLegendItems(); for (Map.Entry entry : chartEvents) { Color col = null; String key = (String) entry.getKey(); for (int i = 0; i < legendItems.getItemCount(); i++) { LegendItem item = legendItems.get(i); if (item.getLabel().equalsIgnoreCase(key)) { col = (Color) item.getFillPaint(); } } defaultTableModel.addRow(new Object[] { col, key, entry.getValue() }); } }
From source file:org.geotools.renderer.chart.GeometryRenderer.java
@Override public LegendItem getLegendItem(int datasetIndex, int series) { LegendItem li = super.getLegendItem(datasetIndex, series); Stroke outlineStroke = getItemStroke(series, 0); Paint fillPaint = li.getFillPaint(); Paint outlinePaint = fillPaint; if (!fillCoordinates) { fillPaint = new Color(255, 255, 255, 255); }/* ww w . j a v a2s . c om*/ return new LegendItem(li.getLabel(), li.getDescription(), li.getToolTipText(), li.getURLText(), li.getShape(), fillPaint, outlineStroke, outlinePaint); }
From source file:unikn.dbis.univis.visualization.graph.plaf.VGraphUI.java
/** * Creates the listener responsible for calling the correct handlers based * on mouse events, and to select invidual cells. *///ww w. j a va2 s . co m protected MouseListener createMouseListener() { return new MouseHandler() { /** * Invoked when a mouse button has been pressed on a component. * //@Override public void mousePressed(MouseEvent e) { Object o = graph.getFirstCellForLocation(e.getX(), e.getY()); if (o instanceof VGraphCell) { VGraphCell cell = (VGraphCell) o; JPopupMenu menu = new JPopupMenu(); VChartPanel chartPanel = (VChartPanel) cell.getUserObject(); if (chartPanel.isShowPopUp()) { LegendItemCollection collect = chartPanel.getChart().getPlot().getLegendItems(); JMenu first = new JMenu("1-39"); int checker = 0; for (Iterator iter = collect.iterator(); iter.hasNext();) { LegendItem item = (LegendItem) iter.next(); checker++; first.add(new JMenuItem(item.getLabel())); if ((checker % 40) == 0) { menu.add(first); first = new JMenu("" + checker + "-" + (checker + 39)); } if (!iter.hasNext()) { menu.add(first); } } menu.show(graph, e.getX(), e.getY()); } } super.mousePressed(e); } */ /** * Invoked when a mouse button has been pressed on a component. */ @Override public void mousePressed(MouseEvent e) { Object o = graph.getFirstCellForLocation(e.getX(), e.getY()); if (SwingUtilities.isLeftMouseButton(e) && e.isAltDown()) { if (o instanceof VGraphCell) { VGraphCell cell = (VGraphCell) o; JPopupMenu menu = new JPopupMenu(); VChartPanel chartPanel = (VChartPanel) cell.getUserObject(); LegendItemCollection collect = chartPanel.getChart().getPlot().getLegendItems(); JMenu first = new JMenu("1-39"); int checker = 0; for (Iterator iter = collect.iterator(); iter.hasNext();) { LegendItem item = (LegendItem) iter.next(); checker++; first.add(new JMenuItem(item.getLabel())); if ((checker % 40) == 0) { menu.add(first); first = new JMenu("" + checker + "-" + (checker + 39)); } if (!iter.hasNext()) { menu.add(first); } } menu.show(graph, e.getX(), e.getY()); } } super.mousePressed(e); if (o != null && o instanceof VGraphCell) { VGraphCell cell = (VGraphCell) o; o = cell.getUserObject(); if (o != null && o instanceof VChartPanel) { VChartPanel chart = (VChartPanel) o; for (MouseListener l : chart.getMouseListeners()) { l.mousePressed(e); } } } } // Event may be null when called to cancel the current operation. @Override public void mouseReleased(MouseEvent e) { super.mouseReleased(e); Object o = graph.getFirstCellForLocation(e.getX(), e.getY()); if (o != null && o instanceof VGraphCell) { VGraphCell cell = (VGraphCell) o; o = cell.getUserObject(); if (o != null && o instanceof VChartPanel) { VChartPanel chart = (VChartPanel) o; for (MouseListener l : chart.getMouseListeners()) { l.mouseReleased(e); } } } } /** * Invoked when the mouse has been clicked on a component. */ @Override public void mouseClicked(MouseEvent e) { super.mouseClicked(e); Object o = graph.getFirstCellForLocation(e.getX(), e.getY()); if (o != null && o instanceof VGraphCell) { VGraphCell cell = (VGraphCell) o; o = cell.getUserObject(); if (o != null && o instanceof VChartPanel) { VChartPanel chart = (VChartPanel) o; if (SwingUtilities.isRightMouseButton(e)) { JPopupMenu menu = chart.createPopupMenu(true, true, true, true); menu.show(graph, e.getX(), e.getY()); } /* for (MouseListener l : chart.getMouseListeners()) { System.out.println("LISTENS CLI"); l.mouseClicked(e); } */ } } } /* // Event may be null when called to cancel the current operation. @Override public void mouseReleased(MouseEvent e) { super.mouseReleased(e); Object[] cells = graphSelectionModel.getSelectionCells(); Rectangle2D bounds = graph.getCellBounds(cells); if (bounds != null) { Rectangle2D b2 = graph.toScreen((Rectangle2D) bounds.clone()); graph.scrollRectToVisible(new Rectangle((int) b2.getX(), (int) b2.getY(), (int) b2.getWidth(), (int) b2.getHeight())); } } */ /** * Invoked when the mouse pointer has been moved on a component (with no * buttons down). */ @Override public void mouseMoved(MouseEvent e) { if (graph.isMoveable()) { super.mouseMoved(e); } Object o = graph.getFirstCellForLocation(e.getX(), e.getY()); if (o != null && o instanceof VGraphCell) { selectedCell = (VGraphCell) o; Rectangle2D bounds = graph.getCellBounds(selectedCell); menu.show(graph, (int) (bounds.getX() + bounds.getWidth()), (int) bounds.getY() + (int) (bounds.getHeight() - menu.getHeight())); } } }; }
From source file:net.sf.dynamicreports.test.jasper.chart.ChartSeriesOrderTest.java
@Override public void test() { super.test(); numberOfPagesTest(1);/* w w w . j av a 2s . c o m*/ chartCountTest("summary.chart1", 1); JFreeChart chart = getChart("summary.chart1", 0); CategoryItemRenderer renderer1 = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } String[] categories = new String[] { "value1", "value2" }; String[] series = new String[] { "a", "b", "c", "d" }; Number[][] values = new Number[][] { { 5d, 2d, 4d, 2d }, { 3d, null, 2d, 4d } }; chartCategoryCountTest("summary.chart1", 0, 2); chartSeriesCountTest("summary.chart1", 0, 4); chartDataTest("summary.chart1", 0, categories, series, values); chartCountTest("summary.chart2", 1); chart = getChart("summary.chart2", 0); CategoryItemRenderer renderer2 = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset2 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset2.getRowCount(); i++) { String key = (String) dataset2.getRowKey(i); key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer2.getSeriesPaint(i)); } for (int i = 0; i < chart.getCategoryPlot().getFixedLegendItems().getItemCount(); i++) { LegendItem legendItem = chart.getCategoryPlot().getFixedLegendItems().get(i); Assert.assertNotNull("null series color", colors.get(legendItem.getLabel())); Assert.assertEquals("series color", colors.get(legendItem.getLabel()), legendItem.getFillPaint()); } series = new String[] { "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d" }; values = new Number[][] { { 1d, 2d, 3d, 0d, 4d, 0d, 1d, 2d }, { null, null, null, 0d, 3d, 0d, 2d, 4d } }; chartCategoryCountTest("summary.chart2", 0, 2); chartSeriesCountTest("summary.chart2", 0, 8); chartDataTest("summary.chart2", 0, categories, series, values); chartCountTest("summary.chart3", 1); chart = getChart("summary.chart3", 0); renderer1 = chart.getCategoryPlot().getRenderer(); dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } categories = new String[] { "value1", "value2" }; series = new String[] { "d", "c", "b", "a" }; values = new Number[][] { { 2d, 4d, 2d, 5d }, { 4d, 2d, null, 3d } }; chartCategoryCountTest("summary.chart3", 0, 2); chartSeriesCountTest("summary.chart3", 0, 4); chartDataTest("summary.chart3", 0, categories, series, values); chartCountTest("summary.chart4", 1); chart = getChart("summary.chart4", 0); renderer2 = chart.getCategoryPlot().getRenderer(); dataset2 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset2.getRowCount(); i++) { String key = (String) dataset2.getRowKey(i); key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer2.getSeriesPaint(i)); } for (int i = 0; i < chart.getCategoryPlot().getFixedLegendItems().getItemCount(); i++) { LegendItem legendItem = chart.getCategoryPlot().getFixedLegendItems().get(i); Assert.assertNotNull("null series color", colors.get(legendItem.getLabel())); Assert.assertEquals("series color", colors.get(legendItem.getLabel()), legendItem.getFillPaint()); } series = new String[] { "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a" }; values = new Number[][] { { 2d, 1d, 0d, 4d, 0d, 3d, 2d, 1d }, { 4d, 2d, 0d, 3d, 0d, null, null, null } }; chartCategoryCountTest("summary.chart4", 0, 2); chartSeriesCountTest("summary.chart4", 0, 8); chartDataTest("summary.chart4", 0, categories, series, values); chartCountTest("summary.chart5", 1); chart = getChart("summary.chart5", 0); renderer1 = chart.getCategoryPlot().getRenderer(); dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } categories = new String[] { "value1", "value2" }; series = new String[] { "c", "b", "a", "d" }; values = new Number[][] { { 4d, 2d, 5d, 2d }, { 2d, null, 3d, 4d } }; chartCategoryCountTest("summary.chart5", 0, 2); chartSeriesCountTest("summary.chart5", 0, 4); chartDataTest("summary.chart5", 0, categories, series, values); chartCountTest("summary.chart6", 1); chart = getChart("summary.chart6", 0); renderer2 = chart.getCategoryPlot().getRenderer(); dataset2 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset2.getRowCount(); i++) { String key = (String) dataset2.getRowKey(i); key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer2.getSeriesPaint(i)); } for (int i = 0; i < chart.getCategoryPlot().getFixedLegendItems().getItemCount(); i++) { LegendItem legendItem = chart.getCategoryPlot().getFixedLegendItems().get(i); Assert.assertNotNull("null series color", colors.get(legendItem.getLabel())); Assert.assertEquals("series color", colors.get(legendItem.getLabel()), legendItem.getFillPaint()); } series = new String[] { "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d" }; values = new Number[][] { { 3d, 2d, 1d, 0d, 1d, 0d, 4d, 2d }, { null, null, null, 0d, 2d, 0d, 3d, 4d } }; chartCategoryCountTest("summary.chart6", 0, 2); chartSeriesCountTest("summary.chart6", 0, 8); chartDataTest("summary.chart6", 0, categories, series, values); chartCountTest("summary.chart7", 1); chart = getChart("summary.chart7", 0); renderer1 = chart.getCategoryPlot().getRenderer(); dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } categories = new String[] { "value1", "value2" }; series = new String[] { "d", "c", "b", "a" }; values = new Number[][] { { 2d, 5d, 2d, 4d }, { 4d, 3d, null, 2d } }; chartCategoryCountTest("summary.chart7", 0, 2); chartSeriesCountTest("summary.chart7", 0, 4); chartDataTest("summary.chart7", 0, categories, series, values); chartCountTest("summary.chart8", 1); chart = getChart("summary.chart8", 0); renderer2 = chart.getCategoryPlot().getRenderer(); dataset2 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset2.getRowCount(); i++) { String key = (String) dataset2.getRowKey(i); key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer2.getSeriesPaint(i)); } for (int i = 0; i < chart.getCategoryPlot().getFixedLegendItems().getItemCount(); i++) { LegendItem legendItem = chart.getCategoryPlot().getFixedLegendItems().get(i); Assert.assertNotNull("null series color", colors.get(legendItem.getLabel())); Assert.assertEquals("series color", colors.get(legendItem.getLabel()), legendItem.getFillPaint()); } series = new String[] { "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "d", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "a", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "b", "1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "c" }; values = new Number[][] { { 2d, 4d, 0d, 1d, 0d, 1d, 2d, 3d }, { 4d, 3d, 0d, 2d, 0d, null, null, null } }; chartCategoryCountTest("summary.chart8", 0, 2); chartSeriesCountTest("summary.chart8", 0, 8); chartDataTest("summary.chart8", 0, categories, series, values); chartCountTest("summary.chart9", 1); chart = getChart("summary.chart9", 0); renderer1 = chart.getCategoryPlot().getRenderer(); dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } categories = new String[] { "value1", "value2" }; series = new String[] { "c", "d", "a", "b" }; values = new Number[][] { { 4d, 2d, 5d, 2d }, { 2d, 4d, 3d, null } }; chartCategoryCountTest("summary.chart9", 0, 2); chartSeriesCountTest("summary.chart9", 0, 4); chartDataTest("summary.chart9", 0, categories, series, values); chartCountTest("summary.chart10", 1); chart = getChart("summary.chart10", 0); renderer1 = chart.getCategoryPlot().getRenderer(); dataset1 = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset1.getRowCount(); i++) { String key = (String) dataset1.getRowKey(i); Assert.assertNotNull("null series color", colors.get(key)); Assert.assertEquals("series color", colors.get(key), renderer1.getSeriesPaint(i)); } categories = new String[] { "value1", "value2" }; series = new String[] { "c", "b", "a", "d" }; values = new Number[][] { { 4d, 2d, 5d, 2d }, { 2d, null, 3d, 4d } }; chartCategoryCountTest("summary.chart10", 0, 2); chartSeriesCountTest("summary.chart10", 0, 4); chartDataTest("summary.chart10", 0, categories, series, values); }