我已创建了一个简单的Python脚本,运行时会在PyQT窗口中显示一个内嵌的matplotlib图表。我使用了此教程来进行图表的嵌入和运行。除了一些命名约定和整体UI上的差异外,我的图表与提到的教程中的图表生成完全相同。
我的问题是,我想把这个图表变成可以进行缩放和拖动的交互式图表,但我只想用鼠标(点击和拖动,滚轮等),而不使用工具栏(因为我觉得它丑陋)。
小部件类:
我的问题是,我想把这个图表变成可以进行缩放和拖动的交互式图表,但我只想用鼠标(点击和拖动,滚轮等),而不使用工具栏(因为我觉得它丑陋)。
小部件类:
class MplCanvas(FigureCanvas):
"""
Creates a canvas on which to draw our widgets
"""
def __init__(self):
self.fig = Figure()
self.ax = self.fig.add_subplot(111)
FigureCanvas.__init__(self, self.fig)
FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
class marketdephWidget(QtGui.QWidget):
"""
The market deph graph
"""
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.canvas = MplCanvas()
self.vbl = QtGui.QVBoxLayout()
self.vbl.addWidget(self.canvas)
self.setLayout(self.vbl)
绘制函数(点击按钮运行):
# initialize the mplwidgets
def PlotFunc(self):
randomNumbers = random.sample(range(0, 10), 10)
self.ui.widget.canvas.ax.clear()
self.ui.widget.canvas.ax.plot(randomNumbers)
self.ui.widget.canvas.draw()