我正在寻找一种方法来绘制(X,Y)平面内的多个点,并让它们一次出现(然后消失)。我总共有大约400(x,y)个点,这是从惯性测量单元收集的位置跟踪信息。
每个数据点相隔约4 ms(我可以更改此间隔以使其更长),因此如果可能,我希望一次显示一个点,每个点持续4ms,直到出现下一个点。最终产品应在5-6秒采样时间内显示对象的移动路径。从我的excel文件中,我有两列(一个用于X,一个用于Y),长度为400个元素(400行)。
我希望有一种方法可以一次绘制一行X,Y散射信息,并寻找一些代码,这些代码将逐行增加并绘制相应的散射图。我是一个半流利的程序员,但之前从未使用过MS Visual Basic。到目前为止我找到的所有Excel解决方案(与我的问题类似)都涉及在Visual Basic中编写图形代码。如果有人可以帮助我使用代码,我想我可以做到这一点......但是如果还有另一个软件可以做到这一点(免费!我是学生预算!)那么我愿意尝试多种解决方案。
我已经找到了这段代码:
Sub Macro1()
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A3:B3"), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart.Axes(xlCategory)
.MinimumScale = -30
.MaximumScale = 30
.MinorUnit = 1
.MajorUnit = 5
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
With ActiveChart.Axes(xlValue)
.MinimumScale = 0
.MaximumScale = 2800
.MinorUnit = 50
.MajorUnit = 100
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
For I = 3 To Worksheets(1).Range("A65536").End(xlUp).Row
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A3:B" & I), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
ST = Timer
While Timer < ST + 1
Wend
Next I
End Sub
然而,由于没有任何评论或文档,我很难仔细阅读并将其分开。我觉得一旦我能真正理解Visual Basic的格式,我就可以修改程序以适应我的特定需求......但理解它是第一步。
所以再次,我的信息格式为3列: X位移 - Y位移 - 时间戳 (以毫米为单位的位置)(以毫米为单位的位置)(秒,或迭代#,以较容易的方式)