在MatplotlibWidget pyqt5中使用FigureCanvasQTAgg时出错

时间:2016-03-29 15:49:59

标签: python matplotlib pyqt5 qt-designer

我想使用matplotlib在pyqt5上绘制我的GUI。我创建了一个名为MatplotlibWidget的类,它创建了我的情节的图形和画布。但是我有一个问题是使用FigureCanvasQTAgg函数生成我的画布(这是一个matplotlib函数)。

这是我的代码中的一部分:

var myString = "$1$$127$$$3.25$$$$$$1$$127$$$3.25$$$$$$4$$185$$$3.12$$$$$";

myCount = (myString.split(/\$[1-9]\$\$127\$/).length - 1);
myArray = myString.split(/\$[1-9]\$\$127\$/);

我有这个错误:

import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg
from matplotlib.figure import Figure

#Some more code...not relevant

class MatplotlibWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.fig = Figure()
        self.canvas = FigureCanvasQTAgg(self.fig) #line 86
        self.axis = self.fig.add_subplot(111)

        self.layoutVerticalTest = QVBoxLayout(self)
        self.layoutVerticalTest.addWidget(self.canvas)

我在许多论坛上搜索过,但我无法找到解决问题的方法。我不明白为什么缺少"位置参数"。请帮帮我!

我在MacOS El Capitan上使用python3.5 64bit。如果可以帮助的话,我用pip安装了matplotlib。

谢谢你们:)

1 个答案:

答案 0 :(得分:3)

如果使用pyqt5,请执行以下操作:

from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg