Java Code Examples for org.jfree.chart.plot.CategoryPlot#setDatasetRenderingOrder()

The following examples show how to use org.jfree.chart.plot.CategoryPlot#setDatasetRenderingOrder() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DefaultChartService.java    From dhis2-core with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
/**
 * Returns a CategoryPlot.
 */
private CategoryPlot getCategoryPlot( CategoryDataset dataSet, CategoryItemRenderer renderer,
    PlotOrientation orientation, CategoryLabelPositions labelPositions )
{
    CategoryPlot plot = new CategoryPlot( dataSet, new CategoryAxis(), new NumberAxis(), renderer );

    plot.setDatasetRenderingOrder( DatasetRenderingOrder.FORWARD );
    plot.setOrientation( orientation );

    CategoryAxis xAxis = plot.getDomainAxis();
    xAxis.setCategoryLabelPositions( labelPositions );

    return plot;
}
 
Example 2
Source File: CumulativeCurveChart.java    From Knowage-Server with GNU Affero General Public License v3.0 4 votes vote down vote up
public JFreeChart createChart(DatasetMap datasetMap) {
	CategoryDataset datasetValue=(CategoryDataset)datasetMap.getDatasets().get("1");
	CategoryDataset datasetCumulative=(CategoryDataset)datasetMap.getDatasets().get("2");


	JFreeChart chart = ChartFactory.createBarChart(
			name,  // chart title
			xLabel,                     // domain axis label
			yLabel,                     // range axis label
			datasetValue,                        // data
			PlotOrientation.VERTICAL,
			true,                           // include legend
			true,
			false
	);

	chart.setBackgroundPaint(Color.white);

	// get a reference to the plot for further customisation...
	CategoryPlot plot = (CategoryPlot) chart.getPlot();
	plot.setBackgroundPaint(Color.lightGray);
	plot.setRangeGridlinePaint(Color.white);
	CategoryAxis domainAxis = plot.getDomainAxis();
	domainAxis.setLowerMargin(0.02);
	domainAxis.setUpperMargin(0.02);
	domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
	// set the range axis to display integers only...
	NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
	rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

	LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();

	NumberAxis axis2 = new NumberAxis("Percent");
	axis2.setNumberFormatOverride(NumberFormat.getPercentInstance());
	plot.setRangeAxis(1, axis2);
	plot.setDataset(1, datasetCumulative);
	plot.setRenderer(1, renderer2);
	plot.mapDatasetToRangeAxis(1, 1);

	plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
	return chart;   
}
 
Example 3
Source File: ParetoChartPlotter.java    From rapidminer-studio with GNU Affero General Public License v3.0 4 votes vote down vote up
private JFreeChart createChart() {
	if (data.getItemCount() > 0) {
		// get cumulative percentages
		KeyedValues cumulative = DataUtilities.getCumulativePercentages(data);

		CategoryDataset categoryDataset = DatasetUtilities.createCategoryDataset(
				"Count for " + this.dataTable.getColumnName(this.countColumn) + " = " + countValue, data);

		// create the chart...
		final JFreeChart chart = ChartFactory.createBarChart(null, // chart title
				this.dataTable.getColumnName(this.groupByColumn), // domain axis label
				"Count", // range axis label
				categoryDataset, // data
				PlotOrientation.VERTICAL, true, // include legend
				true, false);

		// set the background color for the chart...
		chart.setBackgroundPaint(Color.WHITE);

		// get a reference to the plot for further customization...
		CategoryPlot plot = chart.getCategoryPlot();

		CategoryAxis domainAxis = plot.getDomainAxis();
		domainAxis.setLowerMargin(0.02);
		domainAxis.setUpperMargin(0.02);
		domainAxis.setLabelFont(LABEL_FONT_BOLD);
		domainAxis.setTickLabelFont(LABEL_FONT);

		// set the range axis to display integers only...
		NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
		rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits(Locale.US));
		rangeAxis.setLabelFont(LABEL_FONT_BOLD);
		rangeAxis.setTickLabelFont(LABEL_FONT);

		// second data set (cumulative percentages)
		CategoryDataset dataset2 = DatasetUtilities.createCategoryDataset("Cumulative (Percent)", cumulative);

		LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
		renderer2.setSeriesPaint(0, SwingTools.VERY_DARK_BLUE.darker());

		NumberAxis axis2 = new NumberAxis("Percent of " + countValue);
		axis2.setNumberFormatOverride(NumberFormat.getPercentInstance());
		axis2.setLabelFont(LABEL_FONT_BOLD);
		axis2.setTickLabelFont(LABEL_FONT);

		plot.setRangeAxis(1, axis2);
		plot.setDataset(1, dataset2);
		plot.setRenderer(1, renderer2);
		plot.mapDatasetToRangeAxis(1, 1);

		axis2.setTickUnit(new NumberTickUnit(0.1));

		// show grid lines
		plot.setRangeGridlinesVisible(true);

		// bring cumulative line to front
		plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

		if (isLabelRotating()) {
			domainAxis.setTickLabelsVisible(true);
			domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 2.0d));
		}

		return chart;
	} else {
		return null;
	}
}