Example usage for org.jfree.chart JFreeChart getCategoryPlot

List of usage examples for org.jfree.chart JFreeChart getCategoryPlot

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart getCategoryPlot.

Prototype

public CategoryPlot getCategoryPlot() 

Source Link

Document

Returns the plot cast as a CategoryPlot .

Usage

From source file:org.pentaho.chart.plugin.jfreechart.chart.bar.JFreeStackedBarChartGenerator.java

/**
 * Creates stacked bar chart and creates range axis for it.
 * </p>//from ww w  .  j  a v  a2 s.c o  m
 * @param chartDocContext Current chart's document context
 * @param data Current chart data
 * @return Returns JFree layered bar chart.
 */
protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) {
    final JFreeChart chart = createChart(chartDocContext, data, JFreeBarChartTypes.STACKED);

    /*
     * Doing all the render stuff and then off to create range axis.
     * NOTE: The chart object will be updated.
     */
    final ChartDocument chartDocument = chartDocContext.getChartDocument();
    if (JFreeChartUtils.getIsStackedGrouped(chartDocument)) {
        final GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer();
        final KeyToGroupMap map = JFreeChartUtils.createKeyToGroupMap(chartDocument, data,
                chart.getCategoryPlot().getDataset());
        renderer.setSeriesToGroupMap(map);

        final CategoryPlot plot = (CategoryPlot) chart.getPlot();
        plot.setRenderer(renderer);
    }

    createRangeAxis(chartDocContext, data, chart);
    return chart;
}

From source file:project16.Home16.java

void RenderChart() {
    CategoryDataset ds = createDataset();

    JFreeChart chart = ChartFactory.createStackedAreaChart("", "", "", ds);
    chart.setBackgroundPaint(new Color(54, 63, 73));
    chart.setBorderVisible(false);/*from   ww w.j  a  v  a 2s . com*/
    chart.setBorderPaint(new Color(54, 63, 73));
    chart.getCategoryPlot().setBackgroundPaint(new Color(54, 63, 73));
    chart.getCategoryPlot().setDomainGridlinePaint(new Color(54, 63, 73));
    chart.getCategoryPlot().setDomainGridlinesVisible(false);
    chart.getCategoryPlot().setOutlinePaint(new Color(54, 63, 73));

    ChartPanel cp = new ChartPanel(chart);
    cp.setBackground(new Color(54, 63, 73));

    pnl_chart.add(cp, BorderLayout.CENTER);
    pnl_chart.validate();

}

From source file:loansystem.visual.panel.StartPage.java

private void dibujarGrafico(DefaultCategoryDataset datos, int tipoGrafico, String titulo, String ejeX,
        String ejeY, PlotOrientation orientacion, JPanel contenedor) {
    JFreeChart grafica = null;

    switch (tipoGrafico) {
    case BAR://from   ww  w  .  j  ava  2 s  .  c om
        grafica = ChartFactory.createBarChart3D(titulo, ejeX, ejeY, datos, orientacion, true, true, false);
        break;
    case LINE:

        break;

    case PIE:

        break;
    }

    grafica.getTitle().setPaint(Color.black);

    CategoryPlot p = grafica.getCategoryPlot();
    p.setRangeGridlinePaint(Color.black);

    CategoryItemRenderer renderer = ((CategoryPlot) grafica.getPlot()).getRenderer();
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelsVisible(true);
    ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER);
    renderer.setBasePositiveItemLabelPosition(position);

    int style = Font.BOLD;
    Font font = new Font("Tahoma", style, 12);
    renderer.setItemLabelFont(font);

    ChartPanel panel = new ChartPanel(grafica);
    contenedor.add(panel);
    contenedor.revalidate();
    contenedor.repaint();
}

From source file:edu.ucla.stat.SOCR.chart.SuperCategoryChart_Bar.java

protected JFreeChart createLegend(CategoryDataset dataset) {

    //  JFreeChart chart = ChartFactory.createAreaChart(
    JFreeChart chart = ChartFactory.createBarChart(chartTitle, // chart title
            domainLabel, //"Category",               // domain axis label
            rangeLabel, //"Value",                  // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );/*from w  w w. j a  va 2 s . c  o m*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    chart.setBackgroundPaint(Color.white);
    CategoryPlot plot = chart.getCategoryPlot();

    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    // renderer.setDrawOutlines(true);
    // renderer.setUseFillPaint(true);
    // renderer.setFillPaint(Color.white);
    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());
    return chart;

}

From source file:j2se.jfreechart.barchart.BarChartDemo3.java

/**
 * Creates a sample chart./*from ww  w  .j ava  2s.  c  o m*/
 * 
 * @param dataset  the dataset.
 * 
 * @return a sample chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

    final JFreeChart chart = ChartFactory.createBarChart("Bar Chart Demo 3", // chart title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // the plot orientation
            false, // include legend
            true, false);

    chart.setBackgroundPaint(Color.lightGray);

    // get a reference to the plot for further customisation...
    final CategoryPlot plot = chart.getCategoryPlot();
    plot.setNoDataMessage("NO DATA!");

    final CategoryItemRenderer renderer = new CustomRenderer(new Paint[] { Color.red, Color.blue, Color.green,
            Color.yellow, Color.orange, Color.cyan, Color.magenta, Color.blue });
    //        renderer.setLabelGenerator(new StandardCategoryLabelGenerator());
    renderer.setItemLabelsVisible(true);
    final ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER,
            TextAnchor.CENTER, 45.0);
    renderer.setPositiveItemLabelPosition(p);
    plot.setRenderer(renderer);

    // change the margin at the top of the range axis...
    final ValueAxis rangeAxis = plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setLowerMargin(0.15);
    rangeAxis.setUpperMargin(0.15);

    return chart;

}

From source file:hudson.model.LoadStatistics.java

/**
 * Creates a trend chart.//from  www . jav  a2  s. co m
 */
public JFreeChart createChart(CategoryDataset ds) {
    final JFreeChart chart = ChartFactory.createLineChart(null, // chart title
            null, // unused
            null, // range axis label
            ds, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );

    chart.setBackgroundPaint(Color.white);

    final CategoryPlot plot = chart.getCategoryPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setOutlinePaint(null);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.black);

    final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseStroke(new BasicStroke(3));
    configureRenderer(renderer);

    final CategoryAxis domainAxis = new NoOverlapCategoryAxis(null);
    plot.setDomainAxis(domainAxis);
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    domainAxis.setLowerMargin(0.0);
    domainAxis.setUpperMargin(0.0);
    domainAxis.setCategoryMargin(0.0);

    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    // crop extra space around the graph
    plot.setInsets(new RectangleInsets(0, 0, 0, 5.0));

    return chart;
}

From source file:UserInterface.Doctor.DoctorWorkAreaJPanel.java

public void populateChart(VitalSign vitalSign) {
    DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
    dataSet.setValue(vitalSign.getsBloodPressure(), "Status", "Systolic Blood Pressure");
    dataSet.setValue(vitalSign.getdBloodPressure(), "Status", "Diabolic Blood Pressure");
    dataSet.setValue(vitalSign.getHeartRate(), "Status", "Heart Rate");
    dataSet.setValue(vitalSign.getWeight(), "Status", "Weight");
    dataSet.setValue(vitalSign.getTemperature(), "Status", "Temperature");

    JFreeChart chart = ChartFactory.createBarChart(
            request1.getAssignedPatient().getFirstName() + "'s Vital Sign Record", "Vital Signs",
            "Report Status", dataSet, PlotOrientation.VERTICAL, false, true, false);
    chart.setBackgroundPaint(Color.white);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.black);
    ((BarRenderer) p.getRenderer()).setBarPainter(new StandardBarPainter());
    BarRenderer r = (BarRenderer) chart.getCategoryPlot().getRenderer();
    CP = new ChartPanel(chart);
    pnlVitalSign.add(CP, BorderLayout.CENTER);
    pnlVitalSign.validate();//w  ww . j  ava  2 s. co  m
}

From source file:reports.util.BarChartScriptlet.java

/**
 *
 *///from w w w .  j av a 2 s.com
public void afterReportInit() throws JRScriptletException {

    JFreeChart jfreechart = ChartFactory.createBarChart3D("Bar Chart Demo", // chart title
            "States", // X Label              
            "Sell Amount", // Y Label 
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips? 
            false // URLs? 
    );

    CategoryPlot categoryplot = jfreechart.getCategoryPlot();
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(
            CategoryLabelPositions.createUpRotationLabelPositions(0.39269908169872414D));

    LegendTitle legendtitle = (LegendTitle) jfreechart.getSubtitle(0);
    legendtitle.setPosition(RectangleEdge.RIGHT);
    legendtitle.setMargin(new RectangleInsets(UnitType.ABSOLUTE, 0.0D, 4D, 0.0D, 4D));

    IntervalMarker intervalmarker = new IntervalMarker(4000D, 5000D);
    intervalmarker.setLabel("Target Range");
    intervalmarker.setLabelFont(new Font("SansSerif", 2, 11));
    intervalmarker.setLabelAnchor(RectangleAnchor.LEFT);
    intervalmarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
    intervalmarker.setPaint(new Color(222, 222, 255, 128));
    categoryplot.addRangeMarker(intervalmarker, Layer.BACKGROUND);

    CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
    categoryitemrenderer.setItemLabelsVisible(true);
    BarRenderer barrenderer = (BarRenderer) categoryitemrenderer;
    barrenderer.setMaxBarWidth(0.050000000000000003D);

    barrenderer.setItemLabelGenerator(new LabelGenerator());
    barrenderer.setItemLabelsVisible(true);

    ItemLabelPosition itemlabelposition1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,
            TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -1.5707963267948966D);
    barrenderer.setPositiveItemLabelPositionFallback(itemlabelposition1);

    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);

    /*
    jfreechart.setBackgroundPaint(Color.white); 
    CategoryPlot categoryplot = jfreechart.getCategoryPlot();
    categoryplot.setBackgroundPaint(Color.lightGray); 
    categoryplot.setDomainGridlinePaint(Color.white);
    categoryplot.setDomainGridlinesVisible(true);
    categoryplot.setRangeGridlinePaint(Color.white);
    NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
    barrenderer.setDrawBarOutline(false);
    GradientPaint gradientpaint = 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));
    barrenderer.setSeriesPaint(0, gradientpaint);
    barrenderer.setSeriesPaint(1, gradientpaint1);
    barrenderer.setSeriesPaint(2, gradientpaint2);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.52359877559829882D));
       */
    this.setVariableValue("Chart", new JCommonDrawableRenderer(jfreechart));
}

From source file:net.sf.dynamicreports.test.jasper.chart.ChartSeriesOrderTest.java

@Override
public void test() {
    super.test();

    numberOfPagesTest(1);/*from   ww w . j  a v a 2 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));
    }

    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);
}

From source file:edu.jhuapl.graphs.jfreechart.JFreeChartLineGraphSource.java

@Override
public JFreeChart createChart(String title, String xLabel, String yLabel, CategoryDataset dataset,
        boolean legend, boolean graphToolTip) {
    PlotOrientation orientation = getParam(PLOT_ORIENTATION, PlotOrientation.class, DEFAULT_PLOT_ORIENTATION);

    JFreeChart result = ChartFactory.createLineChart(title, xLabel, yLabel, dataset, orientation, legend,
            graphToolTip, false);//w  w w . ja  v a2  s  .c  o m

    CategoryLineGraphRenderer r = new CategoryLineGraphRenderer(data);

    Shape graphShape = getParam(GraphSource.GRAPH_SHAPE, Shape.class, DEFAULT_GRAPH_SHAPE);
    Paint graphColor = getParam(GraphSource.GRAPH_COLOR, Paint.class, DEFAULT_GRAPH_COLOR);
    Stroke graphStroke = getParam(GraphSource.GRAPH_STROKE, Stroke.class, new BasicStroke());

    setupRenderer(r, graphColor, graphShape, graphStroke);
    result.getCategoryPlot().setRenderer(r);

    return result;
}