matlab中甘特图颜色,更改甘特图中子任务颜色的代码

我需要更改甘特图中的子任务的颜色。我的示例基于GanttDemo2以下数据集和渲染器。在不同的论坛上,我找到了与该主题相关的一些讨论,但没有找到一个清晰的简单工作示例。特别是,我可以更改任务的颜色,但是我不知道如何提取子任务。

private IntervalCategoryDataset createSampleDataset() {

final TaskSeries s1 = new TaskSeries("Scheduled");

final Task t1 = new Task(

"Design", date(1, Calendar.APRIL, 2001), date(1, Calendar.MAY, 2001));

t1.addSubtask(new Task("Design 1", date(1, Calendar.APRIL, 2001), date(15, Calendar.APRIL, 2001)));

t1.addSubtask(new Task("Design 2", date(16, Calendar.APRIL, 2001), date(25, Calendar.APRIL, 2001)));

t1.addSubtask(new Task("Design 3", date(26, Calendar.APRIL, 2001), date(1, Calendar.MAY, 2001)));

s1.add(t1);

final Task t2 = new Task(

"Proposal", date(1, Calendar.JUNE, 2001), date(1, Calendar.JULY, 2001));

t2.addSubtask(new Task("Proposal 1", date(1, Calendar.JUNE, 2001), date(15, Calendar.JUNE, 2001)));

t2.addSubtask(new Task("Proposal 2", date(16, Calendar.JUNE, 2001), date(25, Calendar.JUNE, 2001)));

t2.addSubtask(new Task("Proposal 3", date(26, Calendar.JUNE, 2001), date(1, Calendar.JULY, 2001)));

s1.add(t2);

final TaskSeriesCollection collection = new TaskSeriesCollection();

collection.add(s1);

return collection;

}

class MyRenderer extends GanttRenderer {

private static final Color subtask1Color = Color.blue;

private static final Color subtask2Color = Color.cyan;

private static final Color subtask3Color = Color.green;

private static final long serialVersionUID = 1L;

public MyRenderer() {

super();

}

@Override

public Paint getItemPaint(int row, int col) {

System.out.println(row + " " + col + " " + super.getItemPaint(row, col));

if (row == 0) {

return subtask1Color;

} else if (row == 1) {

return subtask2Color;

} else if (row == 2) {

return subtask3Color;

} else {

return super.getItemPaint(row, col);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值