大量のプロットがあり、python を使用して同じ図に描画したいと考えています。現在、プロットに pylab を使用していますが、あまりにも多くのプロットが重ねて描画されています。グラフが十分に大きく、スクロールバーを使用しても表示されるように、図をスクロール可能にする方法はありますか?
これにはPyQTを使用できますが、欠けているpylabのフィギュアオブジェクトの機能があるかもしれません...
大量のプロットがあり、python を使用して同じ図に描画したいと考えています。現在、プロットに pylab を使用していますが、あまりにも多くのプロットが重ねて描画されています。グラフが十分に大きく、スクロールバーを使用しても表示されるように、図をスクロール可能にする方法はありますか?
これにはPyQTを使用できますが、欠けているpylabのフィギュアオブジェクトの機能があるかもしれません...
これは、手紙ではないにしても、あなたが望むものの精神に一致します. 多数のウィンドウが必要で、軸をスクロールできるようにする必要があると思いますaxes
(ただし、一度に平均して1つしか表示できません)。ソリューションには、単一の軸と、どのデータセットを選択するかを選択するスライダーがありますプロット。
import numpy
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
# fake data
xdata = numpy.random.rand(100,100)
ydata = numpy.random.rand(100,100)
# set up figure
fig = plt.figure()
ax = fig.add_subplot(111)
ax.autoscale(True)
plt.subplots_adjust(left=0.25, bottom=0.25)
# plot first data set
frame = 0
ln, = ax.plot(xdata[frame],ydata[frame])
# make the slider
axframe = plt.axes([0.25, 0.1, 0.65, 0.03])
sframe = Slider(axframe, 'Frame', 0, 99, valinit=0,valfmt='%d')
# call back function
def update(val):
frame = int(round(numpy.floor(sframe.val)))
ln.set_xdata(xdata[frame])
ln.set_ydata((frame+1)* ydata[frame])
ax.set_title(frame)
ax.relim()
ax.autoscale_view()
plt.draw()
# connect callback to slider
sframe.on_changed(update)
plt.show()
これは、この質問のコードから改作されています。ボタン ウィジェット ( doc ) を使用して、次へ/戻るボタンを追加できます。