Отображаемое значение AChartEngine не будет отображаться, если его значение = 0

Я работаю над круговыми диаграммами, используя библиотеку 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 days=0

Пожалуйста, предложите любой метод, который перестанет отображать значения диаграммы, когда ее значение == 0


person Kanika    schedule 22.05.2012    source источник


Ответы (1)


Я бы использовал оператор If, чтобы проверить, что значение равно нулю, прежде чем добавлять серию. Возможно, создайте свою собственную функцию-оболочку для categorySeries.add, например:

private void add(String category,double value){
    if(value != 0){
        categorySeries.add(category,value);
    }
}

Возможно, вам придется ограничить количество рендеров количеством фактически добавленных серий.

person Erik Lindholm    schedule 09.07.2012