私のコードはmatplotibを使用してデータから多数のプロットを生成しています。ライブデモでスクロールしたい場合があります。ハツカネズミ)。現在私はそれぞれ別々に画像として保存してから別の画像ビューアを使ってそれらをスクロールしなければなりません。これをpython内から完全に行う方法はありますか?matplotlibプロットを前後にスクロール
7
A
答えて
9
それを達成するための簡単な方法は、リスト内のxとy配列の組を格納した後、プロットされるべき次の(x、y)のペアを選ぶハンドライベントを使用している:
import numpy as np
import matplotlib.pyplot as plt
# define your x and y arrays to be plotted
t = np.linspace(start=0, stop=2*np.pi, num=100)
y1 = np.cos(t)
y2 = np.sin(t)
y3 = np.tan(t)
plots = [(t,y1), (t,y2), (t,y3)]
# now the real code :)
curr_pos = 0
def key_event(e):
global curr_pos
if e.key == "right":
curr_pos = curr_pos + 1
elif e.key == "left":
curr_pos = curr_pos - 1
else:
return
curr_pos = curr_pos % len(plots)
ax.cla()
ax.plot(plots[curr_pos][0], plots[curr_pos][1])
fig.canvas.draw()
fig = plt.figure()
fig.canvas.mpl_connect('key_press_event', key_event)
ax = fig.add_subplot(111)
ax.plot(t,y1)
plt.show()
このコードでは、反復する矢印としてright
とleft
を選択しますが、変更することはできます。
+0
ありがとうございましたjabaldonedo ---あなたのサンプルは今私のプロジェクトに入っていますので、他の人にはそれが動作することを確認できます。私の場合、 'key_event'はデコレータ内のクロージャ内のクロージャです。私は原因を調べないので、前の行の最後に誤った句読点はありませんが、curr_posによって明確に定義されているにもかかわらず、 "グローバル名' curr_pos'が定義されていません " = 0 'となる。 'global curr_pos'の代わりに' not hasattr(key_event、 "curr_pos"):key_event.curr_pos = 0'という形式でソリューションを選びました。私は 'key_event .__ dict __ = {}'を使って必要に応じてリセットします。 –
関連する問題
- 1. 関数の最後の前にmatplotlibをプロットする方法
- 2. プロットmatplotlibの
- 3. matplotlibの:プロット
- 4. マルチプロセッシングshow matplotlibプロット
- 5. matplotlibの幹プロット?
- 6. プロットmatplotlibのをtriplot
- 7. プロセス終了後にmatplotlibプロットを維持する方法
- 8. pd.read.csvの後にmatplotlibで日付をプロットする方法は?
- 9. matplotlibのオーバーレイimshowプロット
- 10. 二重棒プロットmatplotlib
- 11. Matplotlibプロット - 簡略化
- 12. ループ内のmatplotlibプロット
- 13. Matplotlibの累積プロット
- 14. Matplotlibの事前計算データからヒストグラムをプロットする
- 15. matplotlibでインジケータをプロットする
- 16. Matplotlibプロットで '±'を書く
- 17. グラフ上に図形をプロットするMatplotlib
- 18. matplotlib円グラフをプロットに変換する
- 19. Matplotlib:線の端にマーカーをプロットする
- 20. matplotlibに2D強度プロットをプロットする方法は?
- 21. matplotlibのAxesGridプロットに共有軸プロットを追加
- 22. python matplotlibカラーマップは後続のプロットでも継承されます
- 23. matplotlibのプロット破線の円
- 24. Matplotlibの極座標プロット
- 25. Matplotlibとtcpデータのプロット
- 26. python matplotlibプロット日時インデックス
- 27. pandasとmatplotlibでプロットする
- 28. matplotlibのプロット破線の円
- 29. Matplotlibの累積確率プロット
- 30. xplotのmatplotlibプロット整数
プロットを生成するのに必要な時間が長すぎます。私。 'ボタンを押す - >プロットを生成する - >それを表示するなど。 –
@AleksanderLidtkeライブを生成することはできますが、私が作成したプロットを順方向および逆方向にスクロールするにはどうすればよいですか? – phoenix
コールバック。 http://matplotlib.org/users/event_handling.htmlを参照してください。それが立てば、この質問は広すぎます。 – tacaswell