JFreechart XYAreaChart改变颜色

时间:2013-12-09 18:12:53

标签: java jfreechart

我有一个面积图,我想为图表的区域着色,绿色> 0,红色区域<0。我尝试了SetSeriesPaint()方法,但它使所有区域图表都用一种颜色着色。怎么做?

这是我的代码:

final XYSeries series = new XYSeries("Data");

XYSeriesCollection dataset = new XYSeriesCollection(series);


JFreeChart chart = ChartFactory.createXYAreaChart("Fun Meter", "", "",
        dataset, PlotOrientation.VERTICAL, false, false, false);


// jframe=new ChartFrame("Fun Meter", chart);

ChartPanel CP = new ChartPanel(chart);

XYPlot xyPlot = (XYPlot) chart.getPlot();



xyPlot.getRenderer().setSeriesPaint(0, Color.red);

xyPlot.setForegroundAlpha(0.75f);

1 个答案:

答案 0 :(得分:2)

使用XYDifferenceRenderer

XYDifferenceRenderer r = new XYDifferenceRenderer(Color.green,Color.red, false);
plot.setRenderer(r);       

enter image description here