List of usage examples for org.jfree.data KeyToGroupMap KeyToGroupMap
public KeyToGroupMap(Comparable defaultGroup)
From source file:org.jfree.chart.demo.StackedBarChartDemo5.java
private static JFreeChart createChart(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 5", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false); GroupedStackedBarRenderer groupedstackedbarrenderer = new GroupedStackedBarRenderer(); KeyToGroupMap keytogroupmap = new KeyToGroupMap("G1"); keytogroupmap.mapKeyToGroup("S1", "G1"); keytogroupmap.mapKeyToGroup("S2", "G1"); keytogroupmap.mapKeyToGroup("S3", "G2"); keytogroupmap.mapKeyToGroup("S4", "G3"); groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap); groupedstackedbarrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); groupedstackedbarrenderer.setBaseItemLabelsVisible(true); groupedstackedbarrenderer.setPositiveItemLabelPositionFallback( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); groupedstackedbarrenderer.setItemMargin(0.10000000000000001D); SubCategoryAxis subcategoryaxis = new SubCategoryAxis("Category / Group"); subcategoryaxis.setCategoryMargin(0.050000000000000003D); subcategoryaxis.addSubCategory("G1"); subcategoryaxis.addSubCategory("G2"); subcategoryaxis.addSubCategory("G3"); CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); categoryplot.setDomainAxis(subcategoryaxis); categoryplot.setRenderer(groupedstackedbarrenderer); return jfreechart; }
From source file:CPU.StackedBarChartExample1.java
/** * Create chart// www.j a va2 s . c o m * @param dataset * @return */ private JFreeChart createChart(final CategoryDataset dataset) { final JFreeChart stackedChart = ChartFactory.createStackedBarChart("Stacked Bar Chart", "Category", "Value", dataset, PlotOrientation.VERTICAL, true, true, false); //create group GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("Toyota (US)", "G1"); map.mapKeyToGroup("Toyota (Europe)", "G1"); map.mapKeyToGroup("Toyota (Asia)", "G1"); map.mapKeyToGroup("Ford (US)", "G2"); map.mapKeyToGroup("Ford (Europe)", "G2"); map.mapKeyToGroup("Ford (Asia)", "G2"); map.mapKeyToGroup("BMW (US)", "G3"); map.mapKeyToGroup("BMW (Europe)", "G3"); map.mapKeyToGroup("BMW (Asia)", "G3"); renderer.setSeriesToGroupMap(map); //margin between bar. renderer.setItemMargin(0.03); //end SubCategoryAxis dom_axis = new SubCategoryAxis("Car Production / Month"); //Margin between group dom_axis.setCategoryMargin(0.06); //end dom_axis.addSubCategory("Toyota"); dom_axis.addSubCategory("Ford"); dom_axis.addSubCategory("BMW"); CategoryPlot plot = (CategoryPlot) stackedChart.getPlot(); plot.setDomainAxis(dom_axis); plot.setRenderer(renderer); return stackedChart; }
From source file:org.jfree.data.KeyToGroupMapTest.java
/** * Tests the mapKeyToGroup() method./*from w ww. j a va 2 s.c om*/ */ @Test public void testMapKeyToGroup() { KeyToGroupMap m1 = new KeyToGroupMap("G1"); // map a key to the default group m1.mapKeyToGroup("K1", "G1"); assertEquals("G1", m1.getGroup("K1")); // map a key to a new group m1.mapKeyToGroup("K2", "G2"); assertEquals("G2", m1.getGroup("K2")); // clear a mapping m1.mapKeyToGroup("K2", null); assertEquals("G1", m1.getGroup("K2")); // after clearing, reverts to // default group // check handling of null key boolean pass = false; try { m1.mapKeyToGroup(null, "G1"); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass); }
From source file:org.jfree.chart.demo.DualAxisDemo6.java
private static JFreeChart createChart(CategoryDataset categorydataset, CategoryDataset categorydataset1) { CategoryAxis categoryaxis = new CategoryAxis("Category"); NumberAxis numberaxis = new NumberAxis("Value"); GroupedStackedBarRenderer groupedstackedbarrenderer = new GroupedStackedBarRenderer(); KeyToGroupMap keytogroupmap = new KeyToGroupMap("G1"); keytogroupmap.mapKeyToGroup("Series 1A", "G1"); keytogroupmap.mapKeyToGroup("Series 1B", "G1"); keytogroupmap.mapKeyToGroup("NOTHING", "G2"); groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap); CategoryPlot categoryplot = new CategoryPlot(categorydataset, categoryaxis, numberaxis, groupedstackedbarrenderer) { private static final long serialVersionUID = 1L; public LegendItemCollection getLegendItems() { LegendItemCollection legenditemcollection = new LegendItemCollection(); legenditemcollection.addAll(getRenderer().getLegendItems()); CategoryDataset categorydataset2 = getDataset(1); if (categorydataset2 != null) { CategoryItemRenderer categoryitemrenderer = getRenderer(1); if (categoryitemrenderer != null) { org.jfree.chart.LegendItem legenditem = categoryitemrenderer.getLegendItem(1, 1); legenditemcollection.add(legenditem); }/*from w w w. j a v a 2 s . c om*/ } return legenditemcollection; } }; JFreeChart jfreechart = new JFreeChart("Dual Axis Bar Chart", categoryplot); categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); categoryplot.setDataset(1, categorydataset1); categoryplot.mapDatasetToRangeAxis(1, 1); NumberAxis numberaxis1 = new NumberAxis("Secondary"); categoryplot.setRangeAxis(1, numberaxis1); categoryplot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); BarRenderer barrenderer = new BarRenderer(); categoryplot.setRenderer(1, barrenderer); ChartUtilities.applyCurrentTheme(jfreechart); return jfreechart; }
From source file:org.neo4j.bench.chart.ChartData.java
private DomainKey domainKey(String group, String shard) { final DomainKey key = new DomainKey(group, shard); if (groups.add(group)) { if (groupmap == null) { groupmap = new KeyToGroupMap(group); }//from w w w .ja va 2 s . c o m domainAxis.addSubCategory(group); } groupmap.mapKeyToGroup(key, group); return key; }
From source file:com.seagate.kinetic.monitor.view.DefaultKineticOverviewView.java
private JFreeChart createChart(CategoryDataset categorydataset) { JFreeChart jfreechart = ChartFactory.createStackedBarChart("", "", "Total " + unitName, categorydataset, PlotOrientation.HORIZONTAL, true, true, false); keytogroupmap = new KeyToGroupMap("G1"); keytogroupmap.mapKeyToGroup("Get", "G1"); keytogroupmap.mapKeyToGroup("Put", "G1"); keytogroupmap.mapKeyToGroup("Delete", "G1"); groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap); groupedstackedbarrenderer.setItemMargin(0.10000000000000001D); groupedstackedbarrenderer.setDrawBarOutline(false); GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, new Color(34, 34, 255), 0.0F, 0.0F, new Color(136, 136, 255)); groupedstackedbarrenderer.setSeriesPaint(0, gradientpaint); groupedstackedbarrenderer.setSeriesPaint(4, gradientpaint); groupedstackedbarrenderer.setSeriesPaint(8, gradientpaint); GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, new Color(34, 255, 34), 0.0F, 0.0F, new Color(136, 255, 136)); groupedstackedbarrenderer.setSeriesPaint(1, gradientpaint1); groupedstackedbarrenderer.setSeriesPaint(5, gradientpaint1); groupedstackedbarrenderer.setSeriesPaint(9, gradientpaint1); GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, new Color(255, 34, 34), 0.0F, 0.0F, new Color(255, 136, 136)); groupedstackedbarrenderer.setSeriesPaint(2, gradientpaint2); groupedstackedbarrenderer.setSeriesPaint(6, gradientpaint2); groupedstackedbarrenderer.setSeriesPaint(10, gradientpaint2); GradientPaint gradientpaint3 = new GradientPaint(0.0F, 0.0F, new Color(255, 255, 34), 0.0F, 0.0F, new Color(255, 255, 136)); groupedstackedbarrenderer.setSeriesPaint(3, gradientpaint3); groupedstackedbarrenderer.setSeriesPaint(7, gradientpaint3); groupedstackedbarrenderer.setSeriesPaint(11, gradientpaint3); groupedstackedbarrenderer.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL)); return jfreechart; }
From source file:org.jfree.data.KeyToGroupMapTest.java
/** * Tests that the getGroupCount() method returns the correct values under * various circumstances.//from w w w . j a va 2 s .c o m */ @Test public void testGroupCount() { KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); // a new map always has 1 group (the default group) assertEquals(1, m1.getGroupCount()); // if the default group is not mapped to, it should still count towards // the group count... m1.mapKeyToGroup("C1", "G1"); assertEquals(2, m1.getGroupCount()); // now when the default group is mapped to, it shouldn't increase the // group count... m1.mapKeyToGroup("C2", "Default Group"); assertEquals(2, m1.getGroupCount()); // complicate things a little... m1.mapKeyToGroup("C3", "Default Group"); m1.mapKeyToGroup("C4", "G2"); m1.mapKeyToGroup("C5", "G2"); m1.mapKeyToGroup("C6", "Default Group"); assertEquals(3, m1.getGroupCount()); // now overwrite group "G2"... m1.mapKeyToGroup("C4", "G1"); m1.mapKeyToGroup("C5", "G1"); assertEquals(2, m1.getGroupCount()); }
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); }/*from w w w .j av a 2s . 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:playground.yu.utils.charts.StackedBarChart.java
public void addSeries(String[] rowKeys, String[] columnKeys, String[] subCategoryKeys, double[][] values) { for (int rowIdx = 0; rowIdx < values.length; rowIdx++) { for (int columnIdx = 0; columnIdx < values[rowIdx].length; columnIdx++) { dataset.addValue(Double.valueOf(values[rowIdx][columnIdx]), rowKeys[rowIdx], columnKeys[columnIdx]); }//from ww w. j ava 2 s . com } GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap(subCategoryKeys[0]); int size = rowKeys.length / subCategoryKeys.length; for (int rowIdx = 0; rowIdx < rowKeys.length; rowIdx++) { map.mapKeyToGroup(rowKeys[rowIdx], subCategoryKeys[rowIdx / size]); } renderer.setSeriesToGroupMap(map); Color[] paints = new Color[size]; Random random = MatsimRandom.getLocalInstance(); for (int i = 0; i < paints.length; i++) { paints[i] = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)); } for (int i = 0; i < rowKeys.length; i++) { renderer.setSeriesPaint(i, paints[i % size]); } CategoryPlot plot = (CategoryPlot) chart.getPlot(); SubCategoryAxis domainAxis = new SubCategoryAxis("subCategory / column"); for (int subCtgr = 0; subCtgr < subCategoryKeys.length; subCtgr++) { domainAxis.addSubCategory(subCategoryKeys[subCtgr]); } plot.setDomainAxis(domainAxis); plot.setRenderer(renderer); // plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); }
From source file:org.jfree.data.KeyToGroupMapTest.java
/** * Tests that the getKeyCount() method returns the correct values under * various circumstances./*from ww w . ja va 2 s . co m*/ */ @Test public void testKeyCount() { KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); // a new map always has 1 group (the default group) assertEquals(0, m1.getKeyCount("Default Group")); // simple case m1.mapKeyToGroup("K1", "G1"); assertEquals(1, m1.getKeyCount("G1")); m1.mapKeyToGroup("K1", null); assertEquals(0, m1.getKeyCount("G1")); // if there is an explicit mapping to the default group, it is counted m1.mapKeyToGroup("K2", "Default Group"); assertEquals(1, m1.getKeyCount("Default Group")); // complicate things a little... m1.mapKeyToGroup("K3", "Default Group"); m1.mapKeyToGroup("K4", "G2"); m1.mapKeyToGroup("K5", "G2"); m1.mapKeyToGroup("K6", "Default Group"); assertEquals(3, m1.getKeyCount("Default Group")); assertEquals(2, m1.getKeyCount("G2")); // now overwrite group "G2"... m1.mapKeyToGroup("K4", "G1"); m1.mapKeyToGroup("K5", "G1"); assertEquals(2, m1.getKeyCount("G1")); assertEquals(0, m1.getKeyCount("G2")); }