package org.docbag.chart.jfree;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.category.AbstractCategoryItemRenderer;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.chart.renderer.xy.XYItemRenderer;
/**
* ChartUtil
*
* @author Jakub Torbicki
*/
public class ChartUtil {
private ChartUtil() {
}
/**
* Set color of single chart style
*/
public static void setSerieColor(org.jfree.chart.JFreeChart chart, int index, String serieName, Style style) {
Plot plot = chart.getPlot();
if (plot instanceof CategoryPlot) {
AbstractCategoryItemRenderer renderer = (AbstractCategoryItemRenderer) ((CategoryPlot) plot).getRenderer();
renderer.setSeriesPaint(index, style.getColor());
} else if (plot instanceof PiePlot) {
((PiePlot) plot).setSectionPaint(serieName, style.getColor());
}
}
/**
* Set style of single chart style
*/
public static void setSerieStyle(org.jfree.chart.JFreeChart chart, int index, Style style) {
Plot plot = chart.getPlot();
if (plot instanceof CategoryPlot) {
CategoryItemRenderer renderer = chart.getCategoryPlot().getRenderer();
renderer.setSeriesStroke(index, style.getStroke());
} else if (plot instanceof XYPlot) {
XYItemRenderer renderer = chart.getXYPlot().getRenderer();
renderer.setSeriesStroke(index, style.getStroke());
}
}
}