2

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

4

1 に答える 1