我有大量的图,并希望使用 python 在同一个图中绘制它们。我目前正在使用 pylab 进行绘图,但是由于太多,它们被绘制在另一个之上。有没有办法使图形可滚动,使图形足够大并且使用滚动条仍然可见?
我可以为此使用 PyQT,但我可能缺少 pylab 的图形对象的一个功能......
我有大量的图,并希望使用 python 在同一个图中绘制它们。我目前正在使用 pylab 进行绘图,但是由于太多,它们被绘制在另一个之上。有没有办法使图形可滚动,使图形足够大并且使用滚动条仍然可见?
我可以为此使用 PyQT,但我可能缺少 pylab 的图形对象的一个功能......
这符合你想要的精神,如果不是字母的话。我认为您想要一个带有多个轴的窗口,axes
然后能够滚动轴(但仍然平均一次只能看到一个轴),该解决方案有一个轴和一个滑块,用于选择要设置的数据阴谋。
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()