5

表示されているプロットをサブプロットのセットから別のセットに切り替えるボタンが欲しいので、誰かがそれらを簡単に切り替えて違いを視覚的に比較できます。複数の図を作成した場合、どの図を表示するかを選択するボタンを表示する方法はありますか? または、プロット上のデータ ベクトルのサブセットのみを対話的に選択的に表示および非表示にする方法はありますか?

4

1 に答える 1

6

実際、これは matplotlibイベント処理とアニメーションからのちょっとしたトリック(set_ydataプロットを変更するための呼び出し) で行うことができます。

たとえば、マウスをクリックすると、次のように 2 つのプロットが切り替わります。

import matplotlib.pyplot as plt
import numpy as np
import itertools

fig = plt.figure()
ax = fig.add_subplot(111)
y1 = np.random.rand(10)
y2 = np.random.rand(10)
ys = itertools.cycle((y1,y2))
line, = ax.plot(next(ys))

def onclick(event):
    line.set_ydata(next(ys))
    fig.canvas.draw()

cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()

関数を使用すると、より洗練されたものになる可能性がありonclickます。たとえば、これを使用してすべてのプロットのサムネイルを表示し、次にクリックすると、マウスの位置を使用してどのプロットが選択されたかを判断できます。次に、そのプロットを表示します。

于 2012-08-08T17:05:48.630 に答える