Изменение цветов StackedBarChart на основе ключевых значений

Я хотел бы изменить цвета stackedBarChart, используя ключевые значения. Я знаю, как это сделать для круговых диаграмм, но не могу сделать то же самое для stackedBarCharts.

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

Строки кода, на которые следует обратить внимание:

PiePlot plot = (PiePlot) chart.getPlot();
plot.setSectionPaint("J+1", Color.black);
plot.setSectionPaint("J-1", new Color(120, 0, 120));

Однако для StackedBarChart я не уверен, как это сделать, по сути, мне нужно изменить существующий код jfreechart ниже:

 public static JFreeChart createStackedBarChart(final String title,
                        final CategoryDataset dataset) {

                JFreeChart sectorChart = ChartFactory.createStackedBarChart(title, "",
                                "", dataset, PlotOrientation.VERTICAL, true, false, false);

                CategoryPlot plot = (CategoryPlot) sectorChart.getPlot();
                formatCategoryPlot(plot);
                sectorChart.getLegend().setBorder(0, 0, 0, 0);
                sectorChart.setBorderVisible(false);
                sectorChart.setBorderPaint(Color.white);
                plot.setOutlineVisible(false);
                StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();


                return Chart;

        }

Итак, мой вопрос действительно в том, существует ли эквивалент

PiePlot plot = (PiePlot) chart.getPlot();
plot.setSectionPaint("J+1", Color.black);

для stackedBarCharts? Если да, то как я могу его использовать?

Я вижу из веб-ресурсов, что есть что-то о setSeriesPaint, но, похоже, это меняет цвета на основе индекса. Я хотел бы изменить цвета на основе меток, таких как "J+1".


person stretchr    schedule 15.04.2014    source источник


Ответы (1)


Вы можете переопределить метод getItemPaint() средства визуализации, как показано здесь.

изображение

person trashgod    schedule 15.04.2014
comment
Благодарю. В коде не показано, как определять цвета на основе меток разделов... не могли бы вы помочь уточнить это? - person stretchr; 16.04.2014
comment
Вы также можете посмотреть пользовательский DrawingSupplier, упомянутый здесь. - person trashgod; 16.04.2014