我正在使用AChartEngine库处理饼图。在这里,我想禁用要在图表上显示的图表值,但仅限于内容值为0的图表。
现在我正在使用它:
public Intent execute_assetLifecycle(Context context,RelativeLayout parent) {
int[] colors = new int[] { Color.RED, Color.DKGRAY, Color.BLUE, Color.CYAN,Color.GREEN,Color.GRAY };
DefaultRenderer renderer = buildCategoryRenderer(colors);
CategorySeries categorySeries = new CategorySeries("Title1");
categorySeries.add("30 Days=" days_count_30);
categorySeries.add("60 Days=", days_count_60);
categorySeries.add("90 Days=", days_count_90);
categorySeries.add("180 Days=", days_count_180);
mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer);
parent.addView(mChartView2);
return ChartFactory.getPieChartIntent(context, categorySeries, renderer,null);
}
protected DefaultRenderer buildCategoryRenderer(int[] colors) {
DefaultRenderer renderer = new DefaultRenderer();
for (int color : colors) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(color);
renderer.addSeriesRenderer(r);
}
return renderer;
}
我使用上面的代码显示带有显示值的饼图,但我想只显示那些> 0的显示值,否则它们不会在图表上显示为标签: 30天= 0
请建议任何在值== 0
时停止显示图表值的方法答案 0 :(得分:0)
在添加系列之前,我会使用If语句来检查值为零。
也许为categorySeries.add
创建自己的包装函数,如此:
private void add(String category,double value){
if(value != 0){
categorySeries.add(category,value);
}
}
您可能必须将渲染数限制为实际添加的系列数。