2

我从 microsfot 网站上的示例中获取了示例。该示例是 C# 的实时日期和时间。该示例在使用短距离时完美运行,并且基本上完全按原样运行,但是我需要能够监控我的图表至少 45 分钟到 1 小时,然后这些值才必须开始下降。我想做的是有大约 5 分钟的观看时间,其余的绘制图表我希望能够向后滚动。所以下面是问题所在的区域。我需要添加比例视图,以便在它滚动之前设置我可以在图表上看到的数量(这也不起作用),但是当我将比例视图设为 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();
        }
    }
4

2 回答 2

1

我推荐来自 MS Research 的开源且很棒的WPF 动态数据显示库。

它附带了一堆示例项目,您可能可以定制其中一个以满足您的需求。

于 2009-11-24T13:37:40.417 回答
1

切换到名为 TeeChart 的图表。必须为此付出代价,但绝对值得。在 MSChart 上战斗了几天。在 30 分钟内在 TeeChart 中做了完全相同的事情。

于 2009-11-26T13:30:52.807 回答