(X,Y) 平面内の複数のポイントをグラフ化し、それらを 1 つずつ表示 (その後、非表示) する方法を探しています。合計約 400 (x,y) ポイントがあります。これらは、慣性測定ユニットから収集された位置追跡情報です。
各データ ポイントは約 4 ミリ秒 (この間隔を変更して長くすることができます) で区切られているため、可能であれば、次のドットが表示されるまで、一度に 1 ドットずつ、それぞれ 4 ミリ秒表示したいと考えています。最終製品は、5 ~ 6 秒のサンプル時間でオブジェクトの移動パスを表示する必要があります。私のExcelファイルから、400要素の長さ(400行)の2つの列(X用とY用)があります。
X、Y 散布情報を一度に 1 行ずつプロットし、各行をインクリメントして対応する散布図をプロットするコードを探しています。私は半流暢なプログラマーですが、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 変位 -- タイムスタンプ (mm 単位の位置) (mm 単位の位置) (秒、または反復回数のいずれか簡単な方)