我想使用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。
谢谢你们:)
答案 0 :(得分:3)
如果使用pyqt5,请执行以下操作:
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg