【问题标题】:How can I add multiple x axes in mschart?如何在 mschart 中添加多个 x 轴?
【发布时间】:2017-06-02 14:21:10
【问题描述】:

我是 C# 新手,但已经对它强大的开发环境(Visual Studio 2017)感到惊讶。我想知道是否有办法将两个 x 轴放在一个默认支持的 mschart 上。

我的程序很简单。它获取“Y-Value”和“Time”数据,这些数据是“45.1”、“45.2”、45.3”和“115958”、“115959”、“120000”(hh:mm:ss)等字符串和程序图每当OnReceiveData 事件发生时都会出现一系列 Y 值。

下面是代码和图表。

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.OnReceiveData += this.OnReceiveRealData;
        }

        private void OnReceiveRealData(object sender, OpenAPILib._OpenAPIEvents_OnReceiveRealDataEvent e)
        {
            this.chart1.Series[0].Points.AddY(OpenAPI1.GetCommRealData(e.sRealType, "Y-Value").Trim());
        }
    }
}

X 轴显示程序接收到的“Y 值”的数量。但它并不是每秒都获得“Y 值”(或 OnReceiveData 事件每秒发生一次)。有时事件在一秒钟内发生多次,有时在几秒钟内不发生。所以,我想添加另一个 X 轴,看看它已经过去了多少时间,或者在此期间收到了多少“Y 值”,可能如下所示。

如何在 mschart 中添加另一个 X 轴?我可以得到一些与此相关的建议或链接吗?

【问题讨论】:

    标签: c# .net winforms mschart


    【解决方案1】:

    您可以启用次要 x 轴:

    yourChartArea.AxisX2.Enabled = AxisEnabled.True;
    

    你可以通过设置关联一个系列

    someSeries.XAxisType = AxisType.Secondary;
    

    默认情况下,它会位于顶部,您可以使用Crossing 来移动它。

    对于更强大和很多更复杂的额外轴,请参阅here.. 实际上我不推荐这个,因为它不适合胆小的人或新手 ;-)

    Secondary 轴的样式可以与 Primary 一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多