c# - .net 如何删除最旧的数据 XY 点,然后将新的 XY 数据点添加到图表
问题描述
我正在使用 .Points.RemoveAt(0) 删除最旧的和 .AddXY 添加最新的。
但图表工作不正常。当我删除每个最旧的并添加每个最新的(x 轴是时间)时,我没有看到图表向左滚动,正如我所料。
解决方案
糟糕,我用 VBA 回答,而不是
C#
. 好吧,也许您可以C#
通过读入值数组、修改它并将其写回图表来实现相同的技巧。
我认为你正在尝试做这样的事情:
这是我用来执行此操作的代码:
Private Const MaxPoints As Long = 100
Private Sub CommandButton1_Click()
Dim i As Long, PI As Double
PI = 4 * Atn(1)
For i = 1 To 720 / 5
AddValueToChart 50# + 35# * Sin(5 * i * PI / 180)
DoEvents
Next i
End Sub
Public Sub AddValueToChart(ByVal x As Double)
Dim ch As Chart, list() As Variant
Set ch = Me.ChartObjects("Chart 1").Chart
Dim serlist As SeriesCollection
Set serlist = ch.SeriesCollection()
' If chart is empty then add a line with 100 points
If serlist.Count = 0 Then
serlist.NewSeries
ReDim list(1 To MaxPoints)
ch.SeriesCollection(1).Values = list
End If
Dim ser As Series
Set ser = ch.SeriesCollection(1)
' Get an array of values
list = ser.Values
Dim i As Long
For i = MaxPoints To 2 Step -1
' Shift points
list(i) = list(i - 1)
Next i
' Add a new point to the begining of the chart.
list(1) = x
' Assign the modified list as values of the series.
ser.Values = list
End Sub
推荐阅读
- flask - 找不到 Flask 应用程序。您没有提供“FLASK_APP”环境变量
- asp.net - @Html.Raw 没有输出任何东西
- vim - 如何从剪贴板复制并粘贴到vim
- ios - 更新 iOS14 后 Flex 网络记录器无法正常工作
- r - 使用 dorng 包的可重复随机数
- node.js - 在默认日期和时间中存储错误的时区
- bash - 为什么我需要一个带有 pg_dump 的临时文件?
- c - 为什么周期性中断会有时间差异?
- ios - 如何使用 ObservedObject 作为 Picker 中的选择以及 SwiftUI 中的默认选择
- javascript - 联系表格提交电子邮件不发送