在Windows窗体中创建时间线

时间:2019-01-14 16:42:09

标签: c# winforms

我无法在整个时间轴(X-ais)中放置不同的场景。我的意思是每种机器(Y轴)在不同的时间段内都无法重复不同的场景(时间线图中的不同颜色)。

我想像第二张图片一样制作时间表。我想在时间线图中显示的信息如下;

  1. X轴:显示全天的时间轴
  2. Y轴:在工厂展示不同的机器
  3. 图表中的不同颜色:显示生产线中的不同场景或每台机器的状态;运行,报警,等待并关闭。可以全天更改。

我已经花了很多时间通过使用Microsoft控件来制作此时间表,但是我可以得到的结果显示在第一张照片中。

 public Form1()
            {
                InitializeComponent();
                chart1.Titles.Add("Stacked BAR Chart !");


            chart1.Series["RUN"].Points.AddXY("MACHINE 1", "50");
            chart1.Series["ALARM"].Points.AddXY("MACHINE 1", "30");
            chart1.Series["WAIT"].Points.AddXY("MACHINE 1", "10");
            chart1.Series["OFF"].Points.AddXY("MACHINE 1", "10");

            chart1.Series["RUN"].Points.AddXY("MACHINE 2", "250");
            chart1.Series["ALARM"].Points.AddXY("MACHINE 2", "150");
            chart1.Series["WAIT"].Points.AddXY("MACHINE 2", "70");
            chart1.Series["OFF"].Points.AddXY("MACHINE 2", "200");

            chart1.Series["RUN"].Points.AddXY("MACHINE 3", "50");
            chart1.Series["ALARM"].Points.AddXY("MACHINE 3", "150");
            chart1.Series["WAIT"].Points.AddXY("MACHINE 3", "150");
            chart1.Series["OFF"].Points.AddXY("MACHINE 3", "400");

            chart1.Series["RUN"].Points.AddXY("MACHINE 4", "250");
            chart1.Series["ALARM"].Points.AddXY("MACHINE 4", "150");
            chart1.Series["WAIT"].Points.AddXY("MACHINE 4", "750");
            chart1.Series["OFF"].Points.AddXY("MACHINE 4", "200");


            chart1.Series["RUN"].Points.AddXY("MACHINE 5", "250");
            chart1.Series["ALARM"].Points.AddXY("MACHINE 5", "50");
            chart1.Series["WAIT"].Points.AddXY("MACHINE 5", "170");
            chart1.Series["OFF"].Points.AddXY("MACHINE 5", "20");


            }

请您指导我如何为每台机器制作时间表,该时间表将在一天内显示4种不同的情况。我的意思是每种情况下每台机器在整个时间内都可能再次发生。

这是第一张照片 enter image description here

这是第二张照片 enter image description here

1 个答案:

答案 0 :(得分:0)

我要感谢您的所有评论,这些评论为找到解决方案提供了途径。

解决方案是

  1. :从jdweng下载示例图表链接,并了解Rangebar图表。

  2. :您将看到解决方案是Rangebar图表,并设置“ DrawSideBySide” =“ fase”等。

  3. :jdweng和Wyck。你们是很好的帮手。