c# - MS 图表比例 View 和线程

标签 c# mschart real-time

我从 microsfot 网站上的示例中获取了示例。该示例是 C# 的实时日期和时间。该示例在使用短距离并且基本上完全按原样运行时完美运行,但是我需要能够监控我的图表至少 45 分钟到 1 小时,然后值才必须开始下降。我想做的是有大约 5 分钟的观看时间,我希望能够向后滚动绘制的图表的其余部分。所以下面是问题所在的区域。我需要添加比例 View ,以便在图表滚动之前设置我可以在图表上看到的数量(这也不起作用),但是当我将比例 View 设置为高于 1 时,没有插入任何 X 轴值标签如果是这样,那么只有其中 1 个存在,不再存在。代码有点乱,因为这非常令人沮丧。有人可以帮助或指导我制作更好的图表,因为该图表的支持和文档很糟糕。

private void startTrending_Click(object sender, EventArgs e)
    {
        // Disable all controls on the form
        startTrending.Enabled = false;
        // and only Enable the Stop button
        stopTrending.Enabled = true;            
        // Predefine the viewing area of the chart
        minValue = DateTime.Now;
        maxValue = minValue.AddMinutes(120);           
        chart1.ChartAreas[0].AxisX.Minimum = minValue.ToOADate();
        chart1.ChartAreas[0].AxisX.Maximum = maxValue.ToOADate();

        // Reset number of series in the chart.
        chart1.Series.Clear();

        // create a line chart series
        Series newSeries = new Series("Series1");
        newSeries.ChartType = SeriesChartType.Line;
        newSeries.BorderWidth = 2;
        newSeries.Color = Color.OrangeRed;
        newSeries.XValueType = ChartValueType.Time;           
        chart1.Series.Add(newSeries);            
        /*chart1.ChartAreas[0].AxisX.LabelStyle.Format = "hh:mm";
        chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].AxisX.Interval = 1;
        chart1.ChartAreas[0].AxisX.MajorGrid.Interval = 1;
        chart1.ChartAreas[0].AxisX.MajorTickMark.Interval = 0.5; 
        chart1.ChartAreas[0].AxisX.  */          
        chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
        chart1.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].AxisX.ScaleView.Size = 1;
        chart1.ChartAreas[0].CursorX.Interval = 0;

        // start worker threads.
        if (addDataRunner.IsAlive == true)
        {
            addDataRunner.Resume();
        }
        else
        {
            addDataRunner.Start();
        }
    }

最佳答案

我推荐开源,很棒,WPF Dynamic Data Display来自 MS Research 的图书馆。

它附带了一堆示例项目,您可以对其中一个项目进行调整以满足您的需求。

关于c# - MS 图表比例 View 和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1789965/

相关文章:

vb.net - 如何创建显示绑定(bind)到对象列表的百分比的条形图?

c# - 如何格式化 MS Chart 控件中的 Axis

java - 在 Java 中,一秒钟需要多长时间?测量 Java 中的延迟时间

java - Log4j2在java程序中断之前不会写入文件

c# - 使用 LINQ to Excel 将数据从 Excel 导入到 SQL Server 数据库

c# - .NET 等同于 Java FileChannel?

c# - 检测何时出现验证错误

asp.net - 设置 ASP.NET 图表中标签的最大宽度

real-time - 如果简单地将其视为纯文本,操作转换是否适用于结构化文档(例如 HTML)?

c# - LINQ 除了运算符和对象相等