相关疑难解决方法(0)

让PySide与matplotlib一起使用

我试过在SciPy网站上运行示例代码,但是我收到此错误:

Traceback (most recent call last):
  File ".\matplotlibPySide.py", line 24, in <module>
    win.setCentralWidget(canvas)
TypeError: 'PySide.QtGui.QMainWindow.setCentralWidget' called with wrong argument types:
  PySide.QtGui.QMainWindow.setCentralWidget(FigureCanvasQTAgg)
Supported signatures:
  PySide.QtGui.QMainWindow.setCentralWidget(PySide.QtGui.QWidget)
Run Code Online (Sandbox Code Playgroud)

我正在构建一个简单的科学数据记录器,最终将用于商业应用程序,所以我真的需要PySide的LGPL和绘图功能.有没有人有如何使这个工作或替代绘图包或想法的经验?

提前致谢.

python matplotlib pyside

21
推荐指数
3
解决办法
2万
查看次数

Matplotlib交互式图形嵌入在PyQt中

我创建了一个简单的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)
Run Code Online (Sandbox Code Playgroud)

绘图功能(按下按钮运行):

# 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()
Run Code Online (Sandbox Code Playgroud)

python interactive graph matplotlib pyqt4

7
推荐指数
1
解决办法
6146
查看次数

标签 统计

matplotlib ×2

python ×2

graph ×1

interactive ×1

pyqt4 ×1

pyside ×1