10

プロットが作成された後、プロットに表示されるシリーズを選択できる方法を探していました。

私は多くのシリーズのプロットを持っていることが多いので、これが必要です。それらは同時にプロットするには多すぎるので、表示するシリーズをすばやくインタラクティブに選択する必要があります。理想的には、プロット内のシリーズのリストとチェックボックスが表示されたウィンドウがあり、チェックボックスがオンになっているシリーズが表示されます。

これがすでにどこかに実装されているかどうか誰かが知っていますか?そうでない場合は、誰かが私にそれを自分で行う方法を教えてもらえますか?

ありがとう!

オマール

4

3 に答える 3

13

それはすべて、あなたがどれだけの努力を惜しまないか、そして正確な要件が何であるかに依存しますが、それはすでにどこかに実装されているに違いありません:-)

主に画像を乱雑にしないことを目的とする場合は、組み込みの機能を使用するだけで十分な場合があります。関連するコードはmatplotlibサンプルライブラリにあります。

本当にUIが必要で、プロット/データの量を制限することでパフォーマンスを保護できる場合は、通常、GTK、QT、WXなどのGUIツールボックスを使用します。いくつかの記事とサンプルコードについては、こちらをご覧ください。

于 2012-11-14T00:00:16.333 に答える
2

プロットが数個以下の場合はチェックボックス付きのリストで問題ありませんが、プロットが多い場合はポップアップメニューの方が適している可能性があります。しかし、これらのいずれかがmatplotlibで可能かどうかはわかりません。

私がこれを一度実装した方法は、スライダーを使用してリストからプロットを選択することでした。基本的には、スライダーを使用して、表示するシリーズのインデックスを設定します。データセットごとに数百のシリーズがあったので、それらをすばやく確認するのに適した方法でした。

これを設定するための私のコードは、おおよそ次のようになりました。

fig = pyplot.figure()
slax = self.fig.add_axes((0.1,0.05,0.35,0.05))
sl = matplotlib.widgets.Slider(slax, "Trace #", 0, len(plotlist), valinit=0.0)
def update_trace():
    ax.clear()
    tracenum = int(np.floor(sl.val))
    ax.plot(plotlist[tracenum])
    fig.canvas.draw()
sl.on_changed(update_trace)
ax = self.fig.add_axes((0.6, 0.2, 0.35, 0.7))
fig.add_subplot(axes=self.traceax)
update_trace()

次に例を示します。

画像をプロット

于 2012-10-15T08:58:14.187 に答える
0

plot.lyがライブラリをオープンソース化したので、Pythonでのインタラクティブなプロットに非常に適しています。たとえば、https ://plot.ly/python/legend/#legend-namesを参照してください。凡例のトレースをクリックして、トレースを選択/選択解除できます。

Ipython / Jupyter Notebookに埋め込みたい場合は、それも簡単です:https ://plot.ly/ipython-notebooks/gallery/

于 2016-02-24T01:17:05.890 に答える