отображать числа на круговой диаграмме - PullRequest
5 голосов
/ 05 июля 2011

Я разработал приложение для Android для отображения круговой диаграммы. Я использовал библиотеку achartengine для этого. С помощью этого кода ниже я получаю вывод круговой диаграммы с 3 частями, помеченными как указано в категории Серии. Я хочу отобразить процентные значения на круговой диаграмме. Как я могу это сделать?

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

Ответы [ 2 ]

2 голосов
/ 18 марта 2013

Это возможно при использовании ахартенгина. Я столкнулся с той же проблемой и нашел ответ сейчас. Используйте версию 1.1.0-rc2 движка achart. Вы можете скачать его здесь: http://www.achartengine.org/download/

Это руководство (http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/) поможет вам создать круговую диаграмму с использованием achartengine.

Добавьте эту строку в свой код, чтобы отобразить% распределения в круговой диаграмме

defaultRenderer.setDisplayValues(true);

Справка: Как установить разные значения для условных обозначений и надписей в круговой диаграмме, когда я использую Chart Engine в Android

1 голос
/ 28 августа 2011

Я не уверен, если у вас все еще есть эта проблема. Но если ваша круговая диаграмма довольно проста, вам следует подумать о том, чтобы нарисовать ее самостоятельно, а не использовать библиотеку. Это может немного помочь.

https://github.com/blessenm/PieChartDemo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...