簡體   English   中英

在餅圖上顯示數字

[英]display numbers on pie chart

我開發了一個 android 應用程序來顯示餅圖。 我已經使用了achartengine庫來做到這一點。 使用下面的代碼,我得到餅圖 output,其中 3 個部分標記為 categorySeries 中提到的。 我想在餅圖上顯示百分比值。 我怎樣才能做到這一點?

public static final GraphicalView getPieChartView(Context context,
             CategorySeries dataset, DefaultRenderer renderer) {
         checkParameters(dataset, renderer);
         PieChart chart = new PieChart(dataset, renderer);

         return new GraphicalView(context, chart);
     }

     private static void checkParameters(CategorySeries dataset,
             DefaultRenderer renderer) {
         if (dataset == null
             || renderer == null
             || dataset.getItemCount() != renderer
                .getSeriesRendererCount()) {
             throw new IllegalArgumentException(
                     "Dataset and renderer should be not null and the dataset number of items should be equal to the number of series renderers");
         }
     }     

這是我的 onCreate 方法

 Bundle bundle = getIntent().getExtras();
 int highc = bundle.getInt("high");
 int lowc = bundle.getInt("low");
 int medc = bundle.getInt("medium");



RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativestatsLayout);
TextView message = (TextView) findViewById(R.id.statText);
message.setText("\n\n\tTickets Summary");
message.setGravity(50);
//layout.addView(message);
//setContentView(message);


int[] colors = new int[] { Color.rgb(255, 0, 0),Color.rgb(220, 51,51), Color.rgb(255, 191, 0) };
DefaultRenderer renderer = buildCategoryRenderer(colors);

CategorySeries categorySeries = new CategorySeries("Tickets Chart");
categorySeries.getTitle();
categorySeries.add("critical", highc);
categorySeries.add("major ", medc);
categorySeries.add("minor ", lowc);



layout.addView(getPieChartView(this, categorySeries, renderer));
}

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;
}

可以使用 achartengine。 我遇到了同樣的問題,現在找到了答案。 使用 1.1.0-rc2 版本的 chart 引擎。 你可以在這里下載: http://www.achartengine.org/download/

本教程( http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/ )幫助您使用 achartengine 創建餅圖。

將此行添加到您的代碼中以在餅圖中顯示 %of 分布

defaultRenderer.setDisplayValues(true);

參考: 當我在 android 中使用圖表引擎時,如何在餅圖中為圖例和標簽設置不同的值

我不確定你是否還有這個問題。 但是,如果您的餅圖相當簡單,您應該考慮自己繪制它,而不是使用庫。 這可能會有所幫助。

https://github.com/blessenm/PieChartDemo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM