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のときにグラフの値の表示を停止する方法を提案してください

4

1 に答える 1

0

系列を追加する前に、Ifステートメントを使用して値がゼロであることを確認します。たぶん、次のように独自のラッパー関数を作成しますcategorySeries.add

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

レンダリングの数を実際に追加されたシリーズの数に制限する必要がある場合があります。

于 2012-07-09T10:11:31.673 に答える