C# でガント チャートを作成しようとしています。StackedBar チャート タイプを使用しています。このチャートの目的は、「タスク」を多数の「マシン」でスケジュールする方法を示すことです。私のアルゴリズムでは、チャート上の「タスク」の間に空きスペースがあってはなりません。それぞれの「タスク」は新しいシリーズとして追加されます。最初のバーでは正常に機能していますが、他のバーでは、前のバーで終了した後に「タスク」が開始されます。これらのギャップを取り除くには助けが必要です。一部のタスクは 2 台のマシンに分割する必要がありますが、それを行うと、このタスクはバーの最初から 2 番目の列に表示されます。
スタックに関するいくつかの投稿で提案されているように、ゼロの DataPoints を追加しようとしていましたが、私の場合は役に立ちませんでした。( Microsoft グラフの積み上げ縦棒グラフにはギャップがあります)
以下は、このチャートを作成するための私のコードです。
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