1

我有一个包含 4 个系列的图表。每个系列在不同时间添加,具体取决于应用程序功能的打开/关闭。所有系列都在 x 轴上:

DateTime.Now.ToString("mm:ss")

所以我认为在任何时候系列数据可用时,它们都会被添加到当时发生在 x 轴上的图表中。貌似不是这样的。此图表显示一条蓝线和一条红线。蓝线首先开始,几秒钟后我检查了激活红线的 checkBox2,这恰好发生在 27:38(你可以在蓝线上看到一个小下降)。我不明白为什么红线从图表的最左侧开始,而不是在触发时间(27:38)。

这是我的代码:

        string reqTemp = textBox9.Text;
        textBox2.Text = avTemp.ToString("F");
        this.chart1.Series["Actual Temperature"].Points.AddXY(DateTime.Now.ToString("mm:ss"), avTemp);
        if (checkBox2.Checked == true)
        {
            this.chart1.Series["Requested Temperature"].Points.AddXY(DateTime.Now.ToString("mm:ss"), reqTemp);
        }   

在此处输入图像描述

如何在第一个系列在打开时开始运行之后添加系列?基本上所有系列都共享相同的 x 轴。

4

1 回答 1

0

所有系列都在 x 轴上:

DateTime.Now.ToString("mm:ss")

我将其读为:您的所有 X 值都添加为格式化字符串;这通常是一件坏事,因为这样做X 值已变为 all 0s,阅读:无意义

如果要保留DateTime需要添加DataPoints有效 X 值的值!

因此,您应该将它们添加为AddXY(yourDateTimeXValue, yourYValue);并将其设置Format

  chart1.ChartAreas[0].AxisX.LabelStyle.Format = "mm:ss";
于 2016-08-27T12:14:38.873 回答