2013-12-09 35 views
3

我有一個面積圖,我想着色圖表的區域是> 0的綠色和< 0的區域是紅色的。我嘗試了SetSeriesPaint()方法,但它使所有區域圖都用一種顏色着色。這個怎麼做?JFreechart XYAreaChart改變顏色

這裏是我的代碼:

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

回答

2

使用XYDifferenceRenderer

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

enter image description here

+0

這就是我一直在尋找,謝謝GrahamA。 –

+0

您是否知道如何使用相同顏色的區域更改邊框線(或多個形狀)的顏色? –

+0

@ user2928578'setSeriesPaint','setSeriesShape'形狀可視性在構造函數中設置 – GrahamA