Гистограмма с накоплением с процентным составом внутри полосы и итоговым значением над полосой в JFreeChart

Я пытаюсь создать столбчатую диаграмму с накоплением. Мое требование - мне нужен процентный состав внутри полосы и общий счет сверху. Пожалуйста, предложите решения.

Мое требование: Образец: http://www.jfree.org/jfreechart/api/javadoc/images/StackedBarRenderer3DSample.png

Я хочу, чтобы процентный состав был внутри полосы, а общий состав - вверху полосы.


person SKR    schedule 03.05.2010    source источник
comment
Переформатированный код; пожалуйста, вернитесь, если неверно.   -  person trashgod    schedule 08.05.2010


Ответы (2)


Непонятно, что вы делаете сейчас, но используете _ 1_ с setRenderAsPercentages(true) отобразит проценты. Чтобы получить общую сумму, расширьте StackedBarRenderer < / a>, прокрутите набор данных для каждого столбца и переопределите drawItem(), чтобы отобразить результат. Пример можно найти в демонстрация JFreeChart как часть StackedBarChartDemo3.

В качестве альтернативы рассмотрите настраиваемый _6 _, добавлено через setBaseToolTipGenerator().

Приложение: вы связались с примером, используя StackedBarRenderer3D, в котором также есть setRenderAsPercentages() метод. Его можно расширить аналогично.

person trashgod    schedule 03.05.2010
comment
Ура, дружище, это сработало. Я расширил StackedBarRenderer и добавил к нему CategoryToolTipGenerator. Спасибо!!! - person SKR; 11.05.2010

Я тоже столкнулся с той же проблемой. По какой-то причине последняя версия JFreeChart не отображает процентный состав внутри полосы. Вот как я заставил это работать:

    StackedBarRenderer br = new StackedBarRenderer(true); //enable perc. display
    br.setBarPainter(new StandardBarPainter());
    br.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    br.setBaseItemLabelsVisible(true);
    chart.getCategoryPlot().setRenderer(br);

Надеюсь это поможет

person Shahriar    schedule 28.06.2010