2013-04-01 136 views
1

我有一個條形圖,我使用三個不同的系列。所有的數據都正確顯示,但是每個系列都以不同的寬度顯示系列。我無法從不同系列的酒吧獲得相同的寬度。achartengine條形圖多系列

SDFSeries = new XYSeries("Seven Day Forecast"); 
FPSeries = new XYSeries("Forecast Peak"); 
APDSeries = new XYSeries("Actual Peak to Date"); 

XYSeriesRenderer sdfRenderer = new XYSeriesRenderer(); 
sdfRenderer.setColor(Color.rgb(90, 152, 253)); 
sdfRenderer.setDisplayChartValues(true); 
sdfRenderer.setChartValuesTextSize(18); 


XYSeriesRenderer fpRenderer = new XYSeriesRenderer(); 
fpRenderer.setColor(Color.rgb(255, 255, 0)); 
fpRenderer.setDisplayChartValues(true); 
fpRenderer.setChartValuesTextSize(18); 

XYSeriesRenderer apdRenderer = new XYSeriesRenderer(); 
apdRenderer.setColor(Color.rgb(255, 0, 0)); 
apdRenderer.setDisplayChartValues(true); 
apdRenderer.setChartValuesTextSize(18); 

multiRenderer.setXLabels(0); 
multiRenderer.setChartTitle("7 Day Outlook - Maximum Demand"); 
multiRenderer.setXTitle(""); 
multiRenderer.setYTitle("MegaWatts"); 
multiRenderer.addSeriesRenderer(apdRenderer);   
multiRenderer.addSeriesRenderer(fpRenderer); 
multiRenderer.addSeriesRenderer(sdfRenderer); 
multiRenderer.setMargins(new int[] { 10, 65, 10, 15 }); 
multiRenderer.setAxisTitleTextSize(16); 
multiRenderer.setChartTitleTextSize(30); 
multiRenderer.setLabelsTextSize(15); 
multiRenderer.setLegendTextSize(20); 
multiRenderer.setLegendHeight(40); 
multiRenderer.setBarSpacing(.5); 
multiRenderer.setXLabelsAlign(Align.CENTER); 
multiRenderer.setYLabelsAlign(Align.RIGHT); 
+0

對不起,我很困惑我沒有對上一個問題的答案。我很欣賞你的圖表,它的工作原理非常好,我只是在使用多個系列時,堅持使條形寬度相同。我希望我有足夠的聲望點向你展示它的樣子。 – Sam

+0

對不起,我接受了答案,因爲它是正確的。 – Sam

回答

0

該問題是由一個單一項目的系列顯示欄寬度不同造成的。你有一些選擇:

  • 每個系列增加至少2項。
  • 使用renderer.setBarWidth()爲一個單一項目的系列。
+0

非常感謝第一個解決方案。 – Sam

+0

不客氣。 –