我有一个包含5个任务的甘特图。每项任务分为3个子任务。我需要为每个子任务定义不同的颜色,例如子任务1:“淡蓝色”,子任务2:“蓝色”,子任务3:“深蓝色”。我试图谷歌一些例子,但我没有找到任何完整的工作示例。感谢。
更新#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)));
答案 0 :(得分:3)
您可以覆盖渲染器的getItemPaint()
方法,如上所述here。
附录:由于Gnatt图表使用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);
}
}