List of usage examples for org.jfree.data.category CategoryDataset getRowKey
public Comparable getRowKey(int row);
From source file:it.eng.spagobi.engines.chart.bo.charttypes.utils.MyStandardCategoryItemLabelGenerator.java
public String generateLabel(CategoryDataset dataset, int row, int column) { logger.debug("IN"); String category = (String) dataset.getColumnKey(column); String serie = (String) dataset.getRowKey(row); String index = category + "-" + serie; String value = ""; if (catSerLabel.get(index) != null && !catSerLabel.get(index).equals("")) { logger.debug("set label"); value = (String) catSerLabel.get(index); }//from w ww. j a v a 2 s . c o m logger.debug("OUT"); return value; }
From source file:com.newatlanta.bluedragon.CategoryItemLabelGenerator.java
protected Object[] createItemArray(CategoryDataset dataset, int row, int column) { Object[] result = new Object[5]; result[0] = dataset.getRowKey(row).toString(); result[1] = dataset.getColumnKey(column).toString(); Number value = dataset.getValue(row, column); if (value != null) { if (yAxisSymbols != null) { int intValue = value.intValue(); if (intValue < yAxisSymbols.length) result[2] = yAxisSymbols[intValue]; else//from www .j ava 2 s.c o m result[2] = "???"; } else if (this.getNumberFormat() != null) { result[2] = this.getNumberFormat().format(value); } else if (this.getDateFormat() != null) { result[2] = this.getDateFormat().format(value); } } else { result[2] = "-"; // this.nullValueString; } if (value != null) { double total = DataUtilities.calculateRowTotal(dataset, row); double percent = value.doubleValue() / total; result[3] = NumberFormat.getPercentInstance().format(percent); if (this.getNumberFormat() != null) { result[4] = this.getNumberFormat().format(total); } else if (this.getDateFormat() != null) { // result[4] = this.getDateFormat().format(total); } } return result; }
From source file:com.googlecode.logVisualizer.chart.ConsumptionBarChart.java
@Override protected ChartPanel createChartPanel() { final ChartPanel panel = super.createChartPanel(); final CategoryPlot plot = (CategoryPlot) panel.getChart().getPlot(); final StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer(); final CategoryDataset dataset = plot.getDataset(); for (int i = 0; i < dataset.getRowCount(); i++) if (dataset.getRowKey(i).equals("Food")) renderer.setSeriesPaint(i, new Color(255, 80, 80)); else if (dataset.getRowKey(i).equals("Booze")) renderer.setSeriesPaint(i, new Color(100, 100, 255)); else if (dataset.getRowKey(i).equals("Spleen")) renderer.setSeriesPaint(i, new Color(80, 255, 80)); else if (dataset.getRowKey(i).equals("Other")) renderer.setSeriesPaint(i, Color.LIGHT_GRAY); return panel; }
From source file:com.newatlanta.bluedragon.CategoryURLGenerator.java
/** * Generates a URL for a particular item within a series. * /*w ww .j ava 2 s .c o m*/ * @param dataset * the dataset. * @param series * the series index (zero-based). * @param category * the category index (zero-based). * * @return The generated URL. */ @SuppressWarnings("deprecation") public String generateURL(CategoryDataset dataset, int series, int category) { String seriesKey = dataset.getRowKey(series).toString(); String categoryKey = dataset.getColumnKey(category).toString(); Number numberValue = dataset.getValue(series, category); String value; if (numberValue == null) value = ""; else if (dateFormat != null) value = this.dateFormat.format(numberValue); else value = this.numberFormat.format(numberValue); StringBuilder generatedURL = new StringBuilder(urlLower.length()); for (int i = 0; i < urlLower.length();) { char ch = urlLower.charAt(i); if (ch == '$') { if (urlLower.regionMatches(i, "$serieslabel$", 0, "$serieslabel$".length())) { generatedURL.append(URLEncoder.encode(seriesKey)); i = i + "$serieslabel$".length(); } else if (urlLower.regionMatches(i, "$itemlabel$", 0, "$itemlabel$".length())) { generatedURL.append(URLEncoder.encode(categoryKey)); i = i + "$itemlabel$".length(); } else if (urlLower.regionMatches(i, "$value$", 0, "$value$".length())) { generatedURL.append(URLEncoder.encode(value)); i = i + "$value$".length(); } else { // Preserve case by retrieving char from original URL generatedURL.append(url.charAt(i)); i++; } } else { // Preserve case by retrieving char from original URL generatedURL.append(url.charAt(i)); i++; } } return generatedURL.toString(); }
From source file:net.sf.dynamicreports.test.jasper.chart.ChartSeriesColorsByNameTest.java
@Override public void test() { super.test(); numberOfPagesTest(1);/*w w w . ja v 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)); } 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:org.xwiki.rendering.internal.macro.chart.source.table.TableCategoryDatasetBuilderTest.java
@Test public void testBuildCategoryDatasetColumnsSeries() throws Exception { String content = "| column 1 | column 2 | column 3 | column 4\n" + "| row 1 | 12 | 13 | 14 \n" + "| row 2 | 22 | 23 | 24 \n"; setUpContentExpectation(content);//from ww w . j a v a 2 s . c om getDataSource().buildDataset(content, map("type", "line", "range", "B2-D3", "series", "columns"), null); ChartModel chartModel = getDataSource().getChartModel(); Dataset dataset = chartModel.getDataset(); Assert.assertTrue(dataset instanceof CategoryDataset); Assert.assertTrue(chartModel.getAxis(0) instanceof CategoryAxis); Assert.assertTrue(chartModel.getAxis(1) instanceof ValueAxis); CategoryDataset categoryDataset = (CategoryDataset) dataset; Assert.assertTrue(categoryDataset.getColumnKey(0).equals(" row 1 ")); Assert.assertTrue(categoryDataset.getColumnKey(1).equals(" row 2 ")); Assert.assertTrue(categoryDataset.getRowKey(0).equals(" column 2 ")); Assert.assertTrue(categoryDataset.getRowKey(1).equals(" column 3 ")); Assert.assertTrue(categoryDataset.getRowKey(2).equals(" column 4")); Assert.assertTrue(categoryDataset.getValue(0, 0).intValue() == 12); Assert.assertTrue(categoryDataset.getValue(1, 0).intValue() == 13); Assert.assertTrue(categoryDataset.getValue(2, 0).intValue() == 14); Assert.assertTrue(categoryDataset.getValue(0, 1).intValue() == 22); Assert.assertTrue(categoryDataset.getValue(1, 1).intValue() == 23); Assert.assertTrue(categoryDataset.getValue(2, 1).intValue() == 24); }
From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.GroupedStackedBarRendererCustomizer.java
@Override public void customize(JFreeChart chart, ReportParameters reportParameters) { this.seriesColors = new LinkedHashMap<String, Paint>(); this.map = null; Set<String> groups = new LinkedHashSet<String>(); CategoryDataset dataset = chart.getCategoryPlot().getDataset(); for (int i = 0; i < dataset.getRowCount(); i++) { String rowKey = (String) dataset.getRowKey(i); String group = StringUtils.substringBefore(rowKey, GROUP_SERIES_KEY); String series = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY); if (map == null) { map = new KeyToGroupMap(group); }/*w w w . ja v a 2 s . c o m*/ map.mapKeyToGroup(rowKey, group); groups.add(group); if (!seriesColors.containsKey(series)) { Paint paint = chart.getCategoryPlot().getDrawingSupplier().getNextPaint(); seriesColors.put(series, paint); } } DefaultCategoryDataset newDataset = new DefaultCategoryDataset(); for (Object column : dataset.getColumnKeys()) { for (String group : groups) { for (String series : seriesColors.keySet()) { try { Number value = dataset.getValue(group + GROUP_SERIES_KEY + series, (Comparable<?>) column); newDataset.addValue(value, group + GROUP_SERIES_KEY + series, (Comparable<?>) column); } catch (UnknownKeyException e) { newDataset.addValue(0, group + GROUP_SERIES_KEY + series, (Comparable<?>) column); } } } } dataset = newDataset; GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); renderer.setSeriesToGroupMap(map); StackedBarRenderer categoryRenderer = (StackedBarRenderer) chart.getCategoryPlot().getRenderer(); renderer.setBaseItemLabelsVisible(categoryRenderer.getBaseItemLabelsVisible()); renderer.setBaseItemLabelFont(categoryRenderer.getBaseItemLabelFont()); renderer.setBaseItemLabelPaint(categoryRenderer.getBaseItemLabelPaint()); renderer.setBaseItemLabelGenerator(categoryRenderer.getBaseItemLabelGenerator()); renderer.setShadowVisible(categoryRenderer.getShadowsVisible()); renderer.setItemMargin(0.10); renderer.setDrawBarOutline(false); for (int i = 0; i < dataset.getRowCount(); i++) { String rowKey = (String) dataset.getRowKey(i); String score = StringUtils.substringAfter(rowKey, GROUP_SERIES_KEY); renderer.setSeriesPaint(i, seriesColors.get(score)); } CategoryAxis domainAxis = chart.getCategoryPlot().getDomainAxis(); SubCategoryAxis newDomainAxis = new SubCategoryAxis(domainAxis.getLabel()); newDomainAxis.setLabelFont(domainAxis.getLabelFont()); newDomainAxis.setTickLabelFont(domainAxis.getTickLabelFont()); newDomainAxis.setLabelPaint(domainAxis.getLabelPaint()); newDomainAxis.setTickLabelPaint(domainAxis.getTickLabelPaint()); newDomainAxis.setAxisLinePaint(domainAxis.getAxisLinePaint()); newDomainAxis.setTickMarkPaint(domainAxis.getTickMarkPaint()); newDomainAxis.setTickLabelsVisible(domainAxis.isTickLabelsVisible()); newDomainAxis.setTickMarksVisible(domainAxis.isTickMarksVisible()); newDomainAxis.setCategoryMargin(0.05); for (String group : groups) { newDomainAxis.addSubCategory(group); } CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(newDomainAxis); plot.setRenderer(renderer); LegendItemCollection legendItems = new LegendItemCollection(); for (String item : seriesColors.keySet()) { legendItems.add(new LegendItem(item, seriesColors.get(item))); } plot.setFixedLegendItems(legendItems); chart.getCategoryPlot().setDataset(dataset); }
From source file:it.eng.spagobi.engines.chart.bo.charttypes.utils.MyCategoryToolTipGenerator.java
public String generateToolTip(CategoryDataset dataset, int row, int column) { logger.debug("IN"); //String tooltip=super.generateToolTip(dataset, row, column); String rowName = ""; String columnName = ""; try {//from w w w. j a v a2s . co m Comparable rowNameC = (String) dataset.getRowKey(row); Comparable columnNameC = (String) dataset.getColumnKey(column); if (rowNameC != null) rowName = rowNameC.toString(); if (columnNameC != null) columnName = columnNameC.toString(); } catch (Exception e) { logger.error("error in recovering name of row and column"); return "undef"; } // check if there is a predefined FREETIP message if (enableFreeTip == true) { if (categoriesToolTips.get("FREETIP_X_" + columnName) != null) { String freeName = categoriesToolTips.get("FREETIP_X_" + columnName); return freeName; } } String columnTipName = columnName; String rowTipName = rowName; // check if tip name are defined, else use standard if (categoriesToolTips.get("TIP_X_" + columnName) != null) { columnTipName = categoriesToolTips.get("TIP_X_" + columnName); } // search for series, if seriesCaption has a relative value use it! String serieNameToSearch = null; if (seriesCaption != null) { serieNameToSearch = seriesCaption.get(rowName); } if (serieNameToSearch == null) serieNameToSearch = rowName; if (serieToolTips.get("TIP_" + serieNameToSearch) != null) { rowTipName = serieToolTips.get("TIP_" + serieNameToSearch); } Number num = dataset.getValue(row, column); String numS = (num != null) ? " = " + num.toString() : ""; String toReturn = "(" + columnTipName + ", " + rowTipName + ")" + numS; logger.debug("OUT"); return toReturn; }
From source file:net.sf.dynamicreports.design.transformation.chartcustomizer.SeriesColorsByNameCustomizer.java
@Override public void customize(JFreeChart chart, ReportParameters reportParameters) { if (chart.getPlot() instanceof CategoryPlot) { CategoryItemRenderer renderer = chart.getCategoryPlot().getRenderer(); CategoryDataset dataset = chart.getCategoryPlot().getDataset(); Set<String> legend = new LinkedHashSet<String>(); if (dataset != null) { for (int i = 0; i < dataset.getRowCount(); i++) { String key = (String) dataset.getRowKey(i); if (renderer instanceof GroupedStackedBarRenderer) { key = StringUtils.substringAfter(key, GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY); legend.add(key);//from w w w. j a v a2 s . c om } renderer.setSeriesPaint(i, seriesColorsByName.get(key)); } } if (!legend.isEmpty()) { LegendItemCollection legendItems = new LegendItemCollection(); for (String item : legend) { legendItems.add(new LegendItem(item, seriesColorsByName.get(item))); } chart.getCategoryPlot().setFixedLegendItems(legendItems); } } else if (chart.getPlot() instanceof PiePlot) { PiePlot plot = (PiePlot) chart.getPlot(); PieDataset dataset = plot.getDataset(); for (int i = 0; i < dataset.getItemCount(); i++) { String key = (String) dataset.getKey(i); plot.setSectionPaint(key, seriesColorsByName.get(key)); } } else if (chart.getPlot() instanceof XYPlot) { XYItemRenderer renderer = chart.getXYPlot().getRenderer(); XYDataset dataset = chart.getXYPlot().getDataset(); for (int i = 0; i < dataset.getSeriesCount(); i++) { String key = (String) dataset.getSeriesKey(i); renderer.setSeriesPaint(i, seriesColorsByName.get(key)); } } }
From source file:net.sf.dynamicreports.test.jasper.chart.GroupedStackedBarChartData1Test.java
@Override public void test() { super.test(); numberOfPagesTest(1);//from w w w . j a va 2 s .com String[] categories = new String[] { "value1", "value2" }; String[] series = new String[] { "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series1", "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series2", "group2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series1", "group2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series2" }; Number[][] values = new Number[][] { { 1d, 3d, 5d, 7d }, { 7d, 5d, 3d, 1d } }; chartCountTest("summary.chart1", 1); chartCategoryCountTest("summary.chart1", 0, 2); chartSeriesCountTest("summary.chart1", 0, 4); chartDataTest("summary.chart1", 0, categories, series, values); values = new Number[][] { { 1d / 4 * 100, 3d / 4 * 100, 5d / 12 * 100, 7d / 12 * 100 }, { 7d / 12 * 100, 5d / 12 * 100, 3d / 4 * 100, 1d / 4 * 100 } }; chartCountTest("summary.chart3", 1); chartCategoryCountTest("summary.chart3", 0, 2); chartSeriesCountTest("summary.chart3", 0, 4); chartDataTest("summary.chart3", 0, categories, series, values); values = new Number[][] { { null, 3d, 5d, 7d }, { 7d, 5d, 3d, 1d } }; chartCountTest("summary.chart5", 1); chartCategoryCountTest("summary.chart5", 0, 2); chartSeriesCountTest("summary.chart5", 0, 4); chartDataTest("summary.chart5", 0, categories, series, values); JFreeChart chart = getChart("summary.chart5", 0); CategoryDataset dataset = chart.getCategoryPlot().getDataset(); Assert.assertEquals("row key", "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series2", dataset.getRowKey(0)); Assert.assertEquals("row key", "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series1", dataset.getRowKey(1)); Assert.assertEquals("row key", "group2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "series2", dataset.getRowKey(2)); series = new String[] { "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "Column4", "group1" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "Column5", "group2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "Column4", "group2" + GroupedStackedBarRendererCustomizer.GROUP_SERIES_KEY + "Column5" }; values = new Number[][] { { 4d, 6d, 12d, 14d }, { 12d, 14d, 4d, 6d } }; chartCountTest("summary.chart2", 1); chartCategoryCountTest("summary.chart2", 0, 2); chartSeriesCountTest("summary.chart2", 0, 4); chartDataTest("summary.chart2", 0, categories, series, values); values = new Number[][] { { 4d / 10 * 100, 6d / 10 * 100, 12d / 26 * 100, 14d / 26 * 100 }, { 12d / 26 * 100, 14d / 26 * 100, 4d / 10 * 100, 6d / 10 * 100 } }; chartCountTest("summary.chart4", 1); chartCategoryCountTest("summary.chart4", 0, 2); chartSeriesCountTest("summary.chart4", 0, 4); chartDataTest("summary.chart4", 0, categories, series, values); }