我正在尝试显示两个不同颜色的条形系列,但我看到第二个图表也以与第一个相同的颜色绘制。 我尝试改变间距,但没有任何作用,我仍然看到机器人系列的相同颜色。 这是代码。
public class BarGraph {
public Intent getIntent(Context context){
int [] y = { 124,135,443,456,234,123,342,134,123,643,234,274};
CategorySeries series = new CategorySeries("Bar graph1");
for ( int i = 0 ; i < y.length;i++){
series.add("Bar "+ (i+1),y[i]);
}
int [] y2 = { 224,235,243,256,234,223,242,234,223,243,234,274};
CategorySeries series2 = new CategorySeries("Bar graph2");
for ( int i = 0 ; i < y2.length;i++){
series.add("Bar "+ (i+1),y2[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series.toXYSeries());
dataset.addSeries(series2.toXYSeries());
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.BLUE);
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float)0.6);
renderer.setChartValuesTextSize((float)20);
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.CYAN);
renderer2.setDisplayChartValues(true);
renderer2.setChartValuesSpacing((float)0.6);
renderer2.setChartValuesTextSize((float)20);
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.setChartTitle("Demo");
mRenderer.setXTitle("XXXX");
mRenderer.setYTitle("YYYY");
mRenderer.setPointSize((float)6.0);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setMarginsColor(Color.RED);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.addSeriesRenderer(renderer);
mRenderer.addSeriesRenderer(renderer2);
Intent intent = ChartFactory.getBarChartIntent(context, dataset, mRenderer, BarChart.Type.DEFAULT);
return intent;
}
我不确定此代码有什么问题。
答案 0 :(得分:1)
在这个地方
int [] y2 = { 224,235,243,256,234,223,242,234,223,243,234,274};
CategorySeries series2 = new CategorySeries("Bar graph2");
for ( int i = 0 ; i < y2.length;i++){
series.add("Bar "+ (i+1),y2[i]);
}
将series
更改为series2
。它会工作。
对于条形间距和条形宽度,您可以使用
mRenderer.setBarSpacing(10);
mRenderer.setBarWidth(10);