Как изменить цвет определенной подзадачи в диаграмме Ганта 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);
    }
}
Другие вопросы по тегам