0
我剛剛用birt製圖API做了第一步。我創建了一些堆疊和非堆疊(分組)的條形圖,但我也需要將它們混合使用:一些酒吧系列應該堆疊起來,其中一些應該分組。如何實現這一目標?混合堆棧和非堆棧的酒吧
(設置一些但不是所有系列bs1.setStacked(真);產生一個異常...包含堆積和拆散的系列組合。)
但它應該工作:
我剛剛用birt製圖API做了第一步。我創建了一些堆疊和非堆疊(分組)的條形圖,但我也需要將它們混合使用:一些酒吧系列應該堆疊起來,其中一些應該分組。如何實現這一目標?混合堆棧和非堆棧的酒吧
(設置一些但不是所有系列bs1.setStacked(真);產生一個異常...包含堆積和拆散的系列組合。)
但它應該工作:
從Jason Weathersby在Eclipse' forum得到了答案。問題的關鍵在於爲堆疊的BarSeries(setStacked(true);)定義2個SeriesDefinition一個,並且爲一個用於未堆疊的BarSeries的定義一個:
...
BarSeries bs1 = (BarSeries) BarSeriesImpl.create();
bs1.setDataSet(orthoValues1);
bs1.setStacked(true);
BarSeries bs2 = (BarSeries) BarSeriesImpl.create();
bs2.setDataSet(orthoValues2);
bs2.setStacked(true);
BarSeries bs3 = (BarSeries) BarSeriesImpl.create();
bs3.setDataSet(orthoValues3);
bs3.setStacked(false);
SeriesDefinition sdY = SeriesDefinitionImpl.create();
sdY.getSeriesPalette().shift(0);
yAxisPrimary.getSeriesDefinitions().add(sdY);
SeriesDefinition sdY2 = SeriesDefinitionImpl.create();
sdY2.getSeriesPalette().shift(0);
yAxisPrimary.getSeriesDefinitions().add(sdY2);
sdY.getSeries().add(bs1);
sdY.getSeries().add(bs2);
sdY2.getSeries().add(bs3);
...