1

3 つの異なるシリーズを使用している棒グラフがあります。すべてのデータが正しく表示されますが、系列は系列ごとに異なるバーの幅でレンダリングされます。異なるシリーズのバーを同じ幅にすることはできません。

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

1 に答える 1

0

この問題は、1 つのアイテムを含むシリーズの棒の幅が異なるために発生します。いくつかのオプションがあります:

  • 各シリーズに少なくとも 2 つのアイテムを追加します。
  • renderer.setBarWidth()単品でシリーズに使用。
于 2013-04-02T17:54:51.710 に答える