MSChart控件

发布于 2024-10-19 02:43:04 字数 1204 浏览 5 评论 0原文

我的 Windows 窗体中有一个 MSCHart 控件,用 C# 编码。我有一组数据来填充图表。我需要对这些进行以下操作:

  1. 使图表在 10 秒帧中显示,基本上我的数据总计约为 15 分钟或更长时间,但我希望我的图表以 10 秒的比例显示 X 轴.

  2. 我需要在图表底部实现一个滚动条,以便我可以单击它来显示接下来的 10 秒帧。这将开始显示第一个 10 秒帧,然后是下一个帧,例如(10 - 20、20 - 30 等)

  3. 在每个 10 秒帧中,我需要从数组中绘制 170 个数据项。然后接下来的 10 秒帧显示接下来的 170 个数据项,这将持续到最后。

这是我到目前为止所做的一小部分

#region SetupChart()
    public bool SetupChart()
    {
        try
        {
            this.view.chart.ChartAreas[0].AxisX.ScaleView.Size = 10;
            return true;
        }
        catch { return false; }

    }
    #endregion

    #region Draw()
    public bool Draw()
    {
        try
        {
            view.Data = this.dllCall.GetData(1);

            int startSecond = 0;
            foreach (Int16 item in view.Data)
            {

                //this.view.chart.Series["MySeries"].Points.AddXY(startSecond, item);

                    this.view.chart.Series["MySeries"].Points.Add(item);
        startSecond++;

            }
            return true;
        }
        catch (Exception ex)
        {
            this.ErrorMessage = ex.Message;
            return false;
        }
    }

I have an MSCHart control in my windows Form, coding in C#. I have an array of Data to populate the chart. I was needing to do the following with these:

  1. Make the chart show in 10 second frames, basically my data would total up to around 15 minutes or more, but I want my chart to show the X axis on a 10 second scale.

  2. I needed to implement a scroll bar on the bottom of my chart, so that I could click this to show me the next 10 second frame. this would start off showing the first 10 second frame, then the next ones, like (10 - 20, 20 - 30, etc)

  3. In each 10 second frame I need to plot 170 data items from my array. then the next 10 second frame to show the next 170 data items, and this would continue to the end.

here is a snipplet of what I done so far

#region SetupChart()
    public bool SetupChart()
    {
        try
        {
            this.view.chart.ChartAreas[0].AxisX.ScaleView.Size = 10;
            return true;
        }
        catch { return false; }

    }
    #endregion

    #region Draw()
    public bool Draw()
    {
        try
        {
            view.Data = this.dllCall.GetData(1);

            int startSecond = 0;
            foreach (Int16 item in view.Data)
            {

                //this.view.chart.Series["MySeries"].Points.AddXY(startSecond, item);

                    this.view.chart.Series["MySeries"].Points.Add(item);
        startSecond++;

            }
            return true;
        }
        catch (Exception ex)
        {
            this.ErrorMessage = ex.Message;
            return false;
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

镜花水月 2024-10-26 02:43:04

自从我使用这张图表以来,已经有一段时间了。但图表能够缩放和填充。所以我会将整个数据放入图表中,然后缩放到十秒帧,最后填充到我需要的位置。

缩放通常会自动为您提供滚动条。因此,无需为此功能自行执行任何操作。

It's some time ago, since i worked with this chart. But the chart is capable of zooming and padding. So i would put the whole data into the chart and then zoom to a ten second frame and at last pad to the position i need.

The zooming normally provides you with scrollbars automaticallly. So no need to do anything on yourself for this functionality.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文