我正在尝试用 C# 制作甘特图,我使用的是 StackedBar 图表类型。此图表的目的是显示如何根据“机器”的数量安排“任务”。在我的算法中,图表上的“任务”之间不应该有空闲空间。每个“任务”都作为新系列添加。在第一个栏上,它按应有的方式工作,但在其他栏上,“任务”在前一个栏结束后开始。我需要帮助来消除这些差距。有些任务需要在两台机器上划分,当我这样做时,这个任务就会像它应该的那样显示在第二列,从栏的开头开始。
我试图添加零数据点,就像在堆栈上的一些帖子中建议的那样,但它对我的情况没有帮助。(微软图表堆积柱形图有差距)
以下是我创建此图表的代码:
foreach (var item in tasks)
{
scheduleChart.Series.Add(item.Name);
scheduleChart.Series[item.Name].ChartType = SeriesChartType.StackedBar;
scheduleChart.Series[item.Name].LabelForeColor = Color.White;
}
for (int i = 0; i < mcNaugthon.Machines.Count; i++)
{
foreach (var item in mcNaugthon.Machines[i].Tasks)
{
scheduleChart.Series[item.Name].Points
.Add(new DataPoint(i, item.Time));
scheduleChart.Series[item.Name].Label = item.Name;
}
}
- 编辑 -
根据要求提供数据图表:http: //i.imgur.com/64X3SNy.png