【问题标题】:Chart, share X axis between different series图表,在不同系列之间共享 X 轴
【发布时间】:2013-07-10 20:06:25
【问题描述】:

我有一个包含 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 轴。

【问题讨论】:

    标签: c# charts


    【解决方案1】:

    所有系列都在 x 轴上:

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

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

    如果您想保留 DateTime 值,您需要添加具有有效 X 值的 DataPoints

    所以你应该将它们添加为AddXY(yourDateTimeXValue, yourYValue); 并将Format 设置为

      chart1.ChartAreas[0].AxisX.LabelStyle.Format = "mm:ss";
    

    【讨论】:

      猜你喜欢
      • 2021-03-14
      • 2019-02-03
      • 1970-01-01
      • 2021-04-30
      • 2019-05-01
      • 2019-09-03
      • 2021-05-10
      • 2022-11-22
      • 1970-01-01
      相关资源
      最近更新 更多