List of usage examples for org.jfree.chart.axis SubCategoryAxis SubCategoryAxis
public SubCategoryAxis(String label)
From source file:org.jfree.chart.demo.SubCategoryAxisDemo1.java
private static JFreeChart createChart(CategoryDataset dataset) { JFreeChart chart = ChartFactory.createBarChart("SubCategoryAxis Demo 1", "Category", "Value", dataset, PlotOrientation.VERTICAL, false, true, false); chart.setBackgroundPaint(Color.white); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setBackgroundPaint(Color.lightGray); SubCategoryAxis subCategoryAxis = new SubCategoryAxis(null); subCategoryAxis.addSubCategory("S1"); subCategoryAxis.addSubCategory("S2"); subCategoryAxis.addSubCategory("S3"); plot.setDomainAxis(subCategoryAxis); plot.setDomainGridlinePaint(Color.white); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinePaint(Color.white); NumberAxis valueAxis = (NumberAxis) plot.getRangeAxis(); valueAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false);/*w w w. j av a 2s . co m*/ GradientPaint gradientpaint0 = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64)); GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green, 0.0F, 0.0F, new Color(0, 64, 0)); GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red, 0.0F, 0.0F, new Color(64, 0, 0)); renderer.setSeriesPaint(0, gradientpaint0); renderer.setSeriesPaint(1, gradientpaint1); renderer.setSeriesPaint(2, gradientpaint2); return chart; }
From source file:org.neo4j.bench.chart.ChartData.java
public ChartData(String title, String domainAxis, String rangeAxis) { this.title = title; this.dataset = new DefaultCategoryDataset(); this.domainAxis = new SubCategoryAxis(domainAxis); this.rangeAxis = new NumberAxis(rangeAxis); }
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/* w ww . j av a 2s . 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: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 w ww . j a va 2s . co m } 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: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 ww . j a v 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:org.psystems.dicom.browser.server.stat.StatDailyLoadChartServlet2.java
private JFreeChart getChart(CategoryDataset dataset) { final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title "Category", // domain axis label "", // range axis label dataset, // data PlotOrientation.VERTICAL, // the plot orientation true, // legend true, // tooltips false // urls );//from w w w .jav a 2 s.c o m TextTitle title = new TextTitle(" ()", labelFont); title.setPaint(new Color(68, 99, 156)); chart.setTitle(title); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("product 1 (US)", "G1"); map.mapKeyToGroup("product 1 (Europe)", "G1"); renderer.setSeriesToGroupMap(map); BarPainter b = new StandardBarPainter(); // BarPainter b = new GradientBarPainter(0,0.9,0.9); renderer.setBarPainter(b); renderer.setSeriesPaint(0, color1); renderer.setSeriesPaint(1, color2); SubCategoryAxis domainAxis = new SubCategoryAxis("DCM / JPG "); domainAxis.setCategoryMargin(0.05); domainAxis.setTickLabelFont(dateFont); // domainAxis.addSubCategory("Product 1"); // domainAxis.addSubCategory("Product 2"); // domainAxis.addSubCategory("Product 3"); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.red); plot.setRangeGridlinePaint(Color.lightGray); ValueAxis v = plot.getRangeAxis(); v.setTickLabelFont(dateFont); // plot.setRangeAxis(ValueAxis); //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); plot.setRenderer(renderer); plot.setFixedLegendItems(createLegendItems()); return chart; }
From source file:org.psystems.dicom.browser.server.stat.StatClientRequestsChartServlet2.java
private JFreeChart getChart(CategoryDataset dataset) { final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title "Category", // domain axis label "", // range axis label dataset, // data PlotOrientation.VERTICAL, // the plot orientation true, // legend true, // tooltips false // urls );/*from w w w . j a v a 2 s. co m*/ TextTitle title = new TextTitle("? ? ? (.)", labelFont); title.setPaint(new Color(68, 99, 156)); chart.setTitle(title); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("product 1 (US)", "G1"); map.mapKeyToGroup("product 1 (Europe)", "G1"); renderer.setSeriesToGroupMap(map); BarPainter b = new StandardBarPainter(); // BarPainter b = new GradientBarPainter(0,0.9,0.9); renderer.setBarPainter(b); renderer.setSeriesPaint(0, color1); renderer.setSeriesPaint(1, color2); SubCategoryAxis domainAxis = new SubCategoryAxis(" / "); domainAxis.setCategoryMargin(0.05); domainAxis.setTickLabelFont(dateFont); // domainAxis.addSubCategory("Product 1"); // domainAxis.addSubCategory("Product 2"); // domainAxis.addSubCategory("Product 3"); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.red); plot.setRangeGridlinePaint(Color.lightGray); ValueAxis v = plot.getRangeAxis(); v.setTickLabelFont(dateFont); // plot.setRangeAxis(ValueAxis); //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); plot.setRenderer(renderer); plot.setFixedLegendItems(createLegendItems()); return chart; }
From source file:org.altaprise.vawr.charts.demos.StackedBarChartDemo4.java
/** * Creates a sample chart./*from w ww .j a va 2 s.co m*/ * * @param dataset the dataset for the chart. * * @return A sample chart. */ private JFreeChart createChart(final CategoryDataset dataset) { final JFreeChart chart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 4", // chart title "Category", // domain axis label "Value", // range axis label dataset, // data PlotOrientation.VERTICAL, // the plot orientation true, // legend true, // tooltips false // urls ); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("Product 1 (US)", "G1"); map.mapKeyToGroup("Product 1 (Europe)", "G1"); map.mapKeyToGroup("Product 1 (Asia)", "G1"); map.mapKeyToGroup("Product 1 (Middle East)", "G1"); map.mapKeyToGroup("Product 2 (US)", "G2"); map.mapKeyToGroup("Product 2 (Europe)", "G2"); map.mapKeyToGroup("Product 2 (Asia)", "G2"); map.mapKeyToGroup("Product 2 (Middle East)", "G2"); map.mapKeyToGroup("Product 3 (US)", "G3"); map.mapKeyToGroup("Product 3 (Europe)", "G3"); map.mapKeyToGroup("Product 3 (Asia)", "G3"); map.mapKeyToGroup("Product 3 (Middle East)", "G3"); renderer.setSeriesToGroupMap(map); renderer.setItemMargin(0.0); Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f, new Color(0x88, 0x88, 0xFF)); renderer.setSeriesPaint(0, p1); renderer.setSeriesPaint(4, p1); renderer.setSeriesPaint(8, p1); Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f, new Color(0x88, 0xFF, 0x88)); renderer.setSeriesPaint(1, p2); renderer.setSeriesPaint(5, p2); renderer.setSeriesPaint(9, p2); Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f, new Color(0xFF, 0x88, 0x88)); renderer.setSeriesPaint(2, p3); renderer.setSeriesPaint(6, p3); renderer.setSeriesPaint(10, p3); Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f, new Color(0xFF, 0xFF, 0x88)); renderer.setSeriesPaint(3, p4); renderer.setSeriesPaint(7, p4); renderer.setSeriesPaint(11, p4); renderer.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL)); SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month"); domainAxis.setCategoryMargin(0.05); domainAxis.addSubCategory("Product 1"); domainAxis.addSubCategory("Product 2"); domainAxis.addSubCategory("Product 3"); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); plot.setRenderer(renderer); plot.setFixedLegendItems(createLegendItems()); return chart; }
From source file:edu.ucla.stat.SOCR.chart.demo.StackedBarChartDemo4.java
/** * Creates a sample chart.//from w ww . j a va 2 s . c o m * * @param dataset the dataset for the chart. * * @return A sample chart. */ protected JFreeChart createChart(CategoryDataset dataset) { JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle, // chart title domainLabel, // domain axis label rangeLabel, // range axis label dataset, // data PlotOrientation.VERTICAL, // the plot orientation !legendPanelOn, // legend true, // tooltips false // urls ); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("Product 1 (US)", "G1"); map.mapKeyToGroup("Product 1 (Europe)", "G1"); map.mapKeyToGroup("Product 1 (Asia)", "G1"); map.mapKeyToGroup("Product 1 (Middle East)", "G1"); map.mapKeyToGroup("Product 2 (US)", "G2"); map.mapKeyToGroup("Product 2 (Europe)", "G2"); map.mapKeyToGroup("Product 2 (Asia)", "G2"); map.mapKeyToGroup("Product 2 (Middle East)", "G2"); map.mapKeyToGroup("Product 3 (US)", "G3"); map.mapKeyToGroup("Product 3 (Europe)", "G3"); map.mapKeyToGroup("Product 3 (Asia)", "G3"); map.mapKeyToGroup("Product 3 (Middle East)", "G3"); renderer.setSeriesToGroupMap(map); renderer.setItemMargin(0.10); renderer.setDrawBarOutline(false); Paint p1 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0x22, 0xFF), 0.0f, 0.0f, new Color(0x88, 0x88, 0xFF)); renderer.setSeriesPaint(0, p1); renderer.setSeriesPaint(4, p1); renderer.setSeriesPaint(8, p1); Paint p2 = new GradientPaint(0.0f, 0.0f, new Color(0x22, 0xFF, 0x22), 0.0f, 0.0f, new Color(0x88, 0xFF, 0x88)); renderer.setSeriesPaint(1, p2); renderer.setSeriesPaint(5, p2); renderer.setSeriesPaint(9, p2); Paint p3 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0x22, 0x22), 0.0f, 0.0f, new Color(0xFF, 0x88, 0x88)); renderer.setSeriesPaint(2, p3); renderer.setSeriesPaint(6, p3); renderer.setSeriesPaint(10, p3); Paint p4 = new GradientPaint(0.0f, 0.0f, new Color(0xFF, 0xFF, 0x22), 0.0f, 0.0f, new Color(0xFF, 0xFF, 0x88)); renderer.setSeriesPaint(3, p4); renderer.setSeriesPaint(7, p4); renderer.setSeriesPaint(11, p4); renderer.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.HORIZONTAL)); renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator()); SubCategoryAxis domainAxis = new SubCategoryAxis("Product / Month"); domainAxis.setCategoryMargin(0.05); domainAxis.addSubCategory("Product 1"); domainAxis.addSubCategory("Product 2"); domainAxis.addSubCategory("Product 3"); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); //plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); plot.setRenderer(renderer); // plot.setFixedLegendItems(createLegendItems()); setCategorySummary(dataset); return chart; }