Как изменить цвет определенной подзадачи в диаграмме Ганта JFreeChart?
У меня есть диаграмма Ганта с 5 задачами. Каждое задание делится на 3 подзадачи. Мне нужно определить разные цвета для каждой подзадачи, например, Подзадача 1: "голубой", Подзадача 2: "Синий", Подзадача 3: "Синий". Я попытался привести несколько примеров в Google, но я не нашел ни одного полноценного рабочего примера. Благодарю.
Обновление № 1: я использую IntervalCategoryDataset для набора данных.
IntervalCategoryDataset dataset = createDataset(data);
final Task t = new Task("Resource " + i, date(time11), date(time14));
t.addSubtask(new Task("Resource " + i, date(time11), date(time12)));
t.addSubtask(new Task("Resource " + i, date(time12), date(time13)));
t.addSubtask(new Task("Resource " + i, date(time13), date(time14)));
1 ответ
Решение
Вы можете переопределить рендер getItemPaint()
метод, как обсуждено здесь.
Приложение: В качестве диаграммы Гнатта используется GanttRenderer
, вы бы сделали что-то вроде этого, чтобы увидеть существующие цвета. Просто верните выбранный вами цвет для данной строки и столбца.
plot.setRenderer(new MyRenderer());
...
private static class MyRenderer extends GanttRenderer {
@Override
public Paint getItemPaint(int row, int col) {
System.out.println(row + " " + col + " " + super.getItemPaint(row, col));
return super.getItemPaint(row, col);
}
}