achartengine条形图多系列

时间:2013-04-01 19:32:27

标签: 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);

1 个答案:

答案 0 :(得分:0)

问题是由于具有单个项目的系列以不同方式显示条形宽度的事实。你有一些选择:

  • 为每个系列添加至少2个项目。
  • 对于包含一个项目的系列,请使用renderer.setBarWidth()