Example usage for org.jfree.chart.plot CategoryPlot mapDatasetToRangeAxis

List of usage examples for org.jfree.chart.plot CategoryPlot mapDatasetToRangeAxis

Introduction

In this page you can find the example usage for org.jfree.chart.plot CategoryPlot mapDatasetToRangeAxis.

Prototype

public void mapDatasetToRangeAxis(int index, int axisIndex) 

Source Link

Document

Maps a dataset to a particular range axis.

Usage

From source file:org.jfree.chart.demo.DualAxisDemo1.java

private static JFreeChart createChart() {
    JFreeChart jfreechart = ChartFactory.createBarChart("Dual Axis Chart", "Category", "Value",
            createDataset1(), PlotOrientation.VERTICAL, false, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(new Color(238, 238, 255));
    categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    CategoryDataset categorydataset = createDataset2();
    categoryplot.setDataset(1, categorydataset);
    categoryplot.mapDatasetToRangeAxis(1, 1);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
    NumberAxis numberaxis = new NumberAxis("Secondary");
    categoryplot.setRangeAxis(1, numberaxis);
    LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
    lineandshaperenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    categoryplot.setRenderer(1, lineandshaperenderer);
    categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    LegendTitle legendtitle = new LegendTitle(categoryplot.getRenderer(0));
    legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
    legendtitle.setFrame(new BlockBorder());
    LegendTitle legendtitle1 = new LegendTitle(categoryplot.getRenderer(1));
    legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
    legendtitle1.setFrame(new BlockBorder());
    BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
    blockcontainer.add(legendtitle, RectangleEdge.LEFT);
    blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
    blockcontainer.add(new EmptyBlock(2000D, 0.0D));
    CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
    compositetitle.setPosition(RectangleEdge.BOTTOM);
    jfreechart.addSubtitle(compositetitle);
    return jfreechart;
}

From source file:org.jfree.chart.demo.OverlaidBarChartDemo1.java

public static JFreeChart createChart() {
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
    dataset1.addValue(1.0D, "S1", "Category 1");
    dataset1.addValue(4D, "S1", "Category 2");
    dataset1.addValue(3D, "S1", "Category 3");
    dataset1.addValue(5D, "S1", "Category 4");
    dataset1.addValue(5D, "S1", "Category 5");
    dataset1.addValue(7D, "S1", "Category 6");
    dataset1.addValue(7D, "S1", "Category 7");
    dataset1.addValue(8D, "S1", "Category 8");
    dataset1.addValue(5D, "S2", "Category 1");
    dataset1.addValue(7D, "S2", "Category 2");
    dataset1.addValue(6D, "S2", "Category 3");
    dataset1.addValue(8D, "S2", "Category 4");
    dataset1.addValue(4D, "S2", "Category 5");
    dataset1.addValue(4D, "S2", "Category 6");
    dataset1.addValue(2D, "S2", "Category 7");
    dataset1.addValue(1.0D, "S2", "Category 8");
    DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
    dataset2.addValue(9D, "T1", "Category 1");
    dataset2.addValue(7D, "T1", "Category 2");
    dataset2.addValue(2D, "T1", "Category 3");
    dataset2.addValue(6D, "T1", "Category 4");
    dataset2.addValue(6D, "T1", "Category 5");
    dataset2.addValue(9D, "T1", "Category 6");
    dataset2.addValue(5D, "T1", "Category 7");
    dataset2.addValue(4D, "T1", "Category 8");
    DefaultCategoryDataset dataset3 = new DefaultCategoryDataset();
    dataset3.addValue(94D, "R1", "Category 1");
    dataset3.addValue(75D, "R1", "Category 2");
    dataset3.addValue(22D, "R1", "Category 3");
    dataset3.addValue(74D, "R1", "Category 4");
    dataset3.addValue(83D, "R1", "Category 5");
    dataset3.addValue(9D, "R1", "Category 6");
    dataset3.addValue(23D, "R1", "Category 7");
    dataset3.addValue(98D, "R1", "Category 8");
    ///*w ww. j a v a2  s .co  m*/
    StandardCategoryItemLabelGenerator standardcategoryitemlabelgenerator = new StandardCategoryItemLabelGenerator();
    BarRenderer renderer1 = new BarRenderer();
    renderer1.setBaseItemLabelGenerator(standardcategoryitemlabelgenerator);
    renderer1.setBaseItemLabelsVisible(true);
    LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    LineAndShapeRenderer renderer3 = new LineAndShapeRenderer();
    //plot
    CategoryPlot plot = new CategoryPlot();
    plot.setDataset(dataset1);
    plot.setRenderer(renderer1);
    plot.setDataset(1, dataset2);
    plot.setRenderer(1, renderer2);
    plot.setDataset(2, dataset3);
    plot.setRenderer(2, renderer3);
    plot.setDomainAxis(new CategoryAxis("Category"));
    //more rangeAxis
    plot.setRangeAxis(new NumberAxis("Value"));
    plot.setRangeAxis(1, new NumberAxis("Axis 2"));
    plot.mapDatasetToRangeAxis(2, 1);
    //
    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setRangeGridlinesVisible(true);
    plot.setDomainGridlinesVisible(true);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    //chart
    JFreeChart chart = new JFreeChart(plot);
    chart.setTitle("Overlaid Bar Chart");
    return chart;
}

From source file:es.bsc.autonomic.powermodeller.graphics.TotalPowerVsPredictionDecomposed.java

private static JFreeChart createChart() {

    ////from  w  ww .j a  va2  s .co m
    DefaultCategoryDataset Pactual = jFreeChartDataSets.get(CoreConfiguration.PACTUAL_LABEL);
    DefaultCategoryDataset Ppredicted = jFreeChartDataSets.get(CoreConfiguration.PPREDICTED_LABEL);

    StandardCategoryItemLabelGenerator standardcategoryitemlabelgenerator = new StandardCategoryItemLabelGenerator();

    LineAndShapeRenderer renderer1 = new LineAndShapeRenderer();
    /*renderer1.setBaseItemLabelGenerator(standardcategoryitemlabelgenerator);
    renderer1.setBaseItemLabelsVisible(true);*/
    StackedAreaRenderer renderer2 = new StackedAreaRenderer();

    //plot
    CategoryPlot plot = new CategoryPlot();
    plot.setDataset(Ppredicted);
    plot.setRenderer(renderer2);
    plot.setDataset(1, Pactual);
    plot.setRenderer(1, renderer1);
    CategoryAxis axis = new CategoryAxis("Sample");
    axis.setTickLabelsVisible(false);
    axis.setCategoryMargin(0.0);
    plot.setDomainAxis(axis);

    //more rangeAxis
    plot.setRangeAxis(new NumberAxis("Power (Watts)"));
    plot.mapDatasetToRangeAxis(2, 1);
    //
    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setRangeGridlinesVisible(true);
    plot.setDomainGridlinesVisible(true);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);

    //chart
    JFreeChart chart = new JFreeChart(plot);
    chart.setTitle(NAME);
    return chart;
}

From source file:soap.ui.stats.OverLaidBarChartFactory.java

public static JFreeChart createDualBarAndLineDiagram(String title, String categoryAxisLabel,
        String valueAxisLabel, CategoryDataset barDiagramDataset, LinkedList lineDiagramDatasets) {
    CategoryPlot plot = new CategoryPlot();
    int inc = 0;/*from w  w w .ja v  a2s.  c  o  m*/
    BarRenderer barRenderer = null;
    if (barDiagramDataset != null) {
        plot.setDataset(barDiagramDataset);
        barRenderer = new BarRenderer3D();
        barRenderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
        plot.setRenderer(barRenderer);
        inc = 1;
        plot.setDomainAxis(new CategoryAxis3D(categoryAxisLabel));
        plot.setRangeAxis(new NumberAxis3D(valueAxisLabel));
    } else {
        plot.setDomainAxis(new CategoryAxis(categoryAxisLabel));
        plot.setRangeAxis(new NumberAxis(valueAxisLabel));
    }
    plot.mapDatasetToRangeAxis(0, 0);

    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
    plot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT);

    CategoryItemRenderer renderers[] = new LineAndShapeRenderer[lineDiagramDatasets.size()];

    for (int i = 0; i < lineDiagramDatasets.size(); i++) {
        CategoryDataset lineDiagramDataset = (CategoryDataset) lineDiagramDatasets.get(i);
        plot.setDataset(i + inc, lineDiagramDataset);
        plot.mapDatasetToRangeAxis(i + inc, 0);
        if (barDiagramDataset != null && i < barDiagramDataset.getRowCount()) {
            renderers[i] = new LineAndShapeRendererMapToBar(barRenderer, i);
        } else {
            renderers[i] = new LineAndShapeRenderer();
        }
        renderers[i].setToolTipGenerator(new StandardCategoryToolTipGenerator());
        renderers[i].setSeriesStroke(0, new BasicStroke(1.5f));
        renderers[i].setSeriesStroke(1, new BasicStroke(1.5f));
        plot.setRenderer(i + inc, renderers[i]);
    }

    CategoryDataset dataset;
    if (lineDiagramDatasets.size() > 0)
        dataset = (CategoryDataset) lineDiagramDatasets.get(0);
    else
        dataset = barDiagramDataset;
    for (int i = 0; i < dataset.getColumnCount(); i++)
        plot.getDomainAxis().addCategoryLabelToolTip(dataset.getColumnKey(i), (String) dataset.getColumnKey(i));

    plot.setRangeGridlinePaint(Color.black);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    JFreeChart chart = new JFreeChart(plot);
    chart.setTitle(title);
    chart.setLegend(new StandardLegend());

    return chart;
}

From source file:org.jfree.chart.demo.ParetoChartDemo1.java

public static JFreeChart createChart(CategoryDataset acategorydataset[]) {
    JFreeChart jfreechart = ChartFactory.createBarChart("Freshmeat Software Projects", "Language", "Projects",
            acategorydataset[0], PlotOrientation.VERTICAL, true, true, false);
    jfreechart.addSubtitle(new TextTitle("By Programming Language"));
    jfreechart.addSubtitle(new TextTitle("As at 5 March 2003"));
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    CategoryAxis categoryaxis = categoryplot.getDomainAxis();
    categoryaxis.setLowerMargin(0.02D);/*from   ww  w  .  j  a v a  2  s  . c  o  m*/
    categoryaxis.setUpperMargin(0.02D);
    categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
    NumberAxis numberaxis1 = new NumberAxis("Percent");
    numberaxis1.setNumberFormatOverride(NumberFormat.getPercentInstance());
    categoryplot.setRangeAxis(1, numberaxis1);
    categoryplot.setDataset(1, acategorydataset[1]);
    categoryplot.setRenderer(1, lineandshaperenderer);
    categoryplot.mapDatasetToRangeAxis(1, 1);
    categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    return jfreechart;
}

From source file:cmpt305.lab3.gui.controllers.CompareGraphController.java

public CompareGraphController(User main, User... users) {
    this.main = main;

    BAR_GRAPH = new DefaultCategoryDataset();
    COMPARE_GRAPH = new DefaultCategoryDataset();

    JFreeChart t = ChartFactory.createBarChart("SteamWeb", "User", "Time Spent in Each Genre", BAR_GRAPH);

    addData(main);//from   www  .  jav  a  2s  . c om

    if (users != null && users.length > 0) {
        Arrays.asList(users).stream().filter(u -> !u.equals(main)).distinct().forEach(u -> {
            addData(u);
            COMPARE.add(u);
        });
    }

    CategoryPlot plot = t.getCategoryPlot();
    plot.setDataset(1, COMPARE_GRAPH);
    plot.mapDatasetToRangeAxis(1, 1);
    plot.setRangeAxis(1, new NumberAxis("Compatability"));
    LineAndShapeRenderer rend = new LineAndShapeRenderer();
    rend.setBaseToolTipGenerator((cd, x, y) -> String.format("%s: %f", cd.getColumnKey(y), cd.getValue(x, y)));
    rend.setSeriesVisibleInLegend(0, false);
    plot.setRenderer(1, rend);

    VIEW = new ChartPanel(t);
    setSize();
}

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);
                }//  www. j  a v a2  s.  c  o m
            }
            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.amanzi.awe.charts.builder.CategoryChartBuilder.java

@Override
protected void setSecondAxisForPlot(CategoryPlot plot, Dataset dataset, LineAndShapeRenderer subRenderer,
        NumberAxis secondAxis) {//from   w  w w  .  j  ava2s . c  o m
    plot.setDataset(1, (CategoryDataset) dataset);
    plot.mapDatasetToRangeAxis(1, 1);
    plot.setRangeAxis(1, secondAxis);
    plot.setRangeAxisLocation(1, AxisLocation.TOP_OR_LEFT);
    plot.setRenderer(1, subRenderer);
}

From source file:org.matsim.counts.algorithms.graphs.BiasErrorGraph.java

@Override
public JFreeChart createChart(final int nbr) {
    DefaultCategoryDataset dataset0 = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

    this.errorStats = new ComparisonErrorStatsCalculator(this.ccl_);

    double[] meanRelError = errorStats.getMeanRelError();
    //      double[] meanAbsError = errorStats.getMeanAbsError();
    double[] meanAbsBias = errorStats.getMeanAbsBias();

    for (int h = 0; h < 24; h++) {
        dataset0.addValue(meanRelError[h], "Mean rel error", Integer.toString(h + 1));
        //         dataset1.addValue(meanAbsError[h], "Mean abs error", Integer.toString(h + 1));
        dataset1.addValue(meanAbsBias[h], "Mean abs bias", Integer.toString(h + 1));
    }// w  w w .j ava  2 s .  co m

    this.chart_ = ChartFactory.createLineChart("", "Hour", "Mean rel error [%]", dataset0,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = this.chart_.getCategoryPlot();
    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, dataset1);
    plot.mapDatasetToRangeAxis(1, 1);

    final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
    renderer.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    plot.setRenderer(0, renderer);

    final CategoryAxis axis1 = new CategoryAxis("Hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(axis1);

    //      final ValueAxis axis2 = new NumberAxis("Mean abs {bias, error} [veh/h]");
    final ValueAxis axis2 = new NumberAxis("Mean abs bias [veh/h]");
    plot.setRangeAxis(1, axis2);

    final ValueAxis axis3 = plot.getRangeAxis(0);
    axis3.setRange(0.0, 100.0);

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    renderer2.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    renderer2.setSeriesToolTipGenerator(1, new StandardCategoryToolTipGenerator());
    //      renderer2.setSeriesPaint(0, Color.black);
    plot.setRenderer(1, renderer2);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);

    return this.chart_;
}

From source file:org.matsim.counts.algorithms.graphs.BiasNormalizedErrorGraph.java

@Override
public JFreeChart createChart(final int nbr) {
    DefaultCategoryDataset dataset0 = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

    this.errorStats = new ComparisonErrorStatsCalculator(this.ccl_);

    double[] meanNormRelError = this.errorStats.getMeanNormRelError();
    //      double[] meanAbsError = this.errorStats.getMeanAbsError();
    double[] meanBias = this.errorStats.getMeanBias();

    for (int h = 0; h < 24; h++) {
        meanNormRelError[h] *= 100;//w  w  w  .j  a  va  2  s. com
        dataset0.addValue(meanNormRelError[h], "Mean norm rel error", Integer.toString(h + 1));
        //         dataset1.addValue(meanAbsError[h], "Mean abs error", Integer.toString(h + 1));
        dataset1.addValue(meanBias[h], "Mean bias", Integer.toString(h + 1));
    }

    this.chart_ = ChartFactory.createLineChart("", "Hour", "Mean norm rel error [%]", dataset0,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = this.chart_.getCategoryPlot();
    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, dataset1);
    plot.mapDatasetToRangeAxis(1, 1);

    final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
    renderer.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    plot.setRenderer(0, renderer);

    final CategoryAxis axis1 = new CategoryAxis("Hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(axis1);

    //      final ValueAxis axis2 = new NumberAxis("Mean abs {bias, error} [veh/h]");
    final ValueAxis axis2 = new NumberAxis("Mean bias [veh/h]");
    plot.setRangeAxis(1, axis2);

    final ValueAxis axis3 = plot.getRangeAxis(0);
    axis3.setRange(0.0, 100.0);

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    renderer2.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    renderer2.setSeriesToolTipGenerator(1, new StandardCategoryToolTipGenerator());
    //      renderer2.setSeriesPaint(0, Color.black);
    plot.setRenderer(1, renderer2);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);

    return this.chart_;
}