我将向画布添加matplotlib图形,以便在应用程序中将其与pyqt集成。我环顾四周,使用plt.add_subplot(111)
似乎是一种方法(?)但我不能像用“普通”情节那样给子情节添加任何属性
图形设置
self.figure1 = plt.figure()
self.canvas1 = FigureCanvas(self.figure1)
self.graphtoolbar1 = NavigationToolbar(self.canvas1, frameGraph1)
hboxlayout = qt.QVBoxLayout()
hboxlayout.addWidget(self.graphtoolbar1)
hboxlayout.addWidget(self.canvas1)
frameGraph1.setLayout(hboxlayout)
创建子批次并添加数据
df = self.quandl.getData(startDate, endDate, company)
ax = self.figure1.add_subplot(111)
ax.hold(False)
ax.plot(df['Close'], 'b-')
ax.legend(loc=0)
ax.grid(True)
我想设置x和y标签,但是如果设置了ax.xlabel("Test")
AttributeError: 'AxesSubplot' object has no attribute 'ylabel'
如果我不使用子块
plt.figure(figsize=(7, 4))
plt.plot(df['Close'], 'k-')
plt.grid(True)
plt.legend(loc=0)
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
locs, labels = plt.xticks()
plt.setp(labels, rotation=25)
plt.show()
所以我想我的问题是,不可能进一步修改子块吗?或者我可以在pyqt画布中绘制图形,而不使用子块,这样我就可以获得更多绘图属性的好处。
plt.subplot
返回一个子块对象,它是axes对象的一种类型。它有两种添加轴标签的方法:^{您还可以调用
plt.xlabel
和plt.ylabel
(与之前一样),并指定要应用标签的轴。由于只有一个轴,因此还可以省略
axes
kwarg,因为如果未指定,标签将自动应用于当前轴。相关问题 更多 >
编程相关推荐