Я хотел бы изменить цвета 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".