Как изменить цвет конкретной подзадачи в JFreeChart Gantt Chart?
У меня есть диаграмма Ганта с 5 задачами. Каждая задача разделена на 3 подзадачи. Мне нужно определить другой цвет для каждой подзадачи, например. Подзадание 1: "голубой", подзадание2: "синий", подзадание3: "темно-синий". Я попытался привести некоторые примеры Google, но я не нашел полного рабочего примера. Спасибо.
Update # 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);
}
}