我有大量的情节,并希望使用python在同一图中绘制它们.我目前正在使用pylab进行绘图,但由于太多,他们被绘制在另一个之上.有没有办法让图形可滚动,这样图形足够大并且使用滚动条仍然可见?
我可以使用PyQT,但是我可能缺少pylab的图形对象的一个特性......
由于我没有得到这个问题的答案,我尝试用 PyQt 解决它。显然,这并不容易,当涉及 QScrollArea 时......
我写了一个小测试,基本上可以满足我的要求,但它没有像我预期的那样显示滚动区域和其中的图:
from PyQt4 import QtCore, QtGui
import os,sys
#import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
from matplotlib.figure import Figure
qapp = QtGui.QApplication(sys.argv)
qwidget = QtGui.QWidget()
qwidget.setGeometry(QtCore.QRect(0, 0, 500, 500))
qlayout = QtGui.QHBoxLayout(qwidget)
qwidget.setLayout(qlayout)
qscroll = QtGui.QScrollArea(qwidget)
qscroll.setGeometry(QtCore.QRect(0, 0, 500, 500))
qscroll.setFrameStyle(QtGui.QFrame.NoFrame)
qlayout.addWidget(qscroll)
qscrollContents = QtGui.QWidget()
qscrollLayout = QtGui.QVBoxLayout(qscrollContents)
qscrollLayout.setGeometry(QtCore.QRect(0, 0, 1000, 1000))
qscroll.setWidget(qscrollContents)
qscroll.setWidgetResizable(True)
for i in xrange(5):
qfigWidget = QtGui.QWidget(qscrollContents)
fig = Figure((5.0, 4.0), dpi=100) …Run Code Online (Sandbox Code Playgroud)