Python matplotlib和子地块属性

Python matplotlib和子地块属性,python,matplotlib,Python,Matplotlib,我正在向画布添加matplotlib图形,以便在应用程序中将其与pyqt集成。我环顾四周,使用了plt。添加子地块(111)似乎是一种方法(?),但我不能像使用“普通”地块那样,向子地块添加任何属性 图形设置 self.figure1 = plt.figure() self.canvas1 = FigureCanvas(self.figure1) self.graphtoolbar1 = NavigationToolbar(self.canvas1, frameGraph1) hboxlayo

我正在向画布添加matplotlib图形,以便在应用程序中将其与pyqt集成。我环顾四周,使用了
plt。添加子地块(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”)

这是可能的,如果我不使用子地块

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。子地块
返回一个子地块对象,该对象是轴对象的一种类型。它有两种添加轴标签的方法:和:

您还可以调用
plt.xlabel
plt.ylabel
(与以前一样),并指定要应用标签的轴

ax = plt.subplot('111')
plt.xlabel('X Axis', axes=ax)
plt.ylabel('Y Axis', axes=ax)
由于您只有一个轴,您还可以忽略
kwarg,因为如果未指定一个轴,标签将自动应用于当前轴

ax = plt.subplot('111')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

这就成功了,谢谢!可以旋转x标签吗?@vandelay当然可以。您可以使用
rotation
kwarg:
plt.xlabel('X轴',rotation=30)
I更倾向于使用子图:),就像使用ax一样。谢谢您的回答。@vandelay您想旋转绘图本身吗?你也可以只做
label=ax.设置标签('X轴')
然后
label.设置旋转(30)
@vandelay哦,这些都是记号标签。看见
ax = plt.subplot('111')
plt.xlabel('X Axis', axes=ax)
plt.ylabel('Y Axis', axes=ax)
ax = plt.subplot('111')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')