2016-09-09 6 views
0

私が書いている論文で視覚化しようとしている動的シミュレーションがあります。Pythonを使用したスナップショットプロットの作成

時間の経過と共にダイナミクスの「スナップショット」を取得し、それらをすべて同じキャンバスにスーパーインポーズし、時間に対して(各スナップショットごとに)プロットします。この(歩行機構)と同様

:完全について

enter image description here

。スナップショットは、一定の間隔で撮影され、ある周波数によって予め定義される。これは私がエミュレートしたいものです。

+0

本当にあなたの質問は理解できません。どのようなデータをプロットしようとしていますか?文字通り、モデルから出てくる座標を結んでいる線が、歩くスティックのようなものですか?モデルがPythonであるか、または後処理のためにPythonを使用していますか? *「私の興味がサブプロットB、C、Dにあるところ」*とはどういう意味ですか? – Bart

+0

@Bart、それは明らかな謝罪ではなかった。私は、画像を下位のものから現在のものに変更して、私がプロットしたいものを明白にしました。だから私は、同じキャンバス上に異なる時点で力学的なシステムをプロットしたいと思います。これは非常に標準的なプロットです。しかし、私はどのようにそれを実装するために言うリソースを見つけることができません。 – Astrid

答えて

1

あなたのモデルがどのように見えるか、どのような種類のデータが得られるかなどは完全にはっきりしていないので、改善するためにはいくつかの反復が必要になるかもしれませんが、以下は動的(飲み物のスティックフィギュア)システムを時間/空間で使用する。プロットは、モデルの実行中に更新され、それはもちろん容易例えばすることによって変更することができ、この場合

import matplotlib.pylab as pl 
import numpy as np 

pl.close('all') 

y = np.array([2,1,0]) # y-location of hips,knees,feet 
x = np.zeros((2,3)) # x-coordinates of both legs 

# Plot while the model runs: 
pl.figure() 
pl.title('Drunk stick figure', loc='left') 
pl.xlabel('x') 
pl.ylabel('y') 

# The model: 
for t in range(10): 
    x[:,0] = t # start (top of legs) progress in x in time 
    x[:,1] = x[:,0] + np.random.random(2) # random location knees 
    x[:,2] = x[:,0] + np.random.random(2) # random location feet 

    pl.plot(x[0,:], y[:], color='k') 
    pl.plot(x[1,:], y[:], color='r') 

    # or, if you want to plot every nth (lets say second) step: 
    # if (t % 2 == 0): 
    #  pl.plot(..) 

enter image description here

後で同様のループでデータを保存し、それらをプロットします。

+0

ohhhhhhhhhhhhhhhh。きちんとしたありがとう。 – Astrid

関連する問題