我在画布上添加了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
返回子图对象,该对象是轴对象的类型。它有两种添加轴标签的方法:set_xlabel
和set_ylabel
:
ax = plt.subplot('111')
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
您还可以调用plt.xlabel
和plt.ylabel
(像以前一样)并指定要应用标签的轴。
ax = plt.subplot('111')
plt.xlabel('X Axis', axes=ax)
plt.ylabel('Y Axis', axes=ax)
由于只有一个轴,因此也可以省略axes
kwarg,因为如果未指定一个轴,标签将自动应用于当前轴。
ax = plt.subplot('111')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
哪个对象包含属性?在下面的代码中(我已经导入了所需的软件包,并且正确地绘制了和图),为了设置y轴限制,我必须使用,为什么会这样?在我自己的头脑中,我会使用因为y轴属于ax对象实例。有人能解释一下为什么这是不正确的吗? 我在这里看到这个帖子: 为什么很多例子在Matplotlib/pyplot/python中使用"fig, ax=plt.subplots()" 这有助于澄清一点,但我仍然不确定。谢谢
本文向大家介绍matplotlib 使用子图的子图网格,包括了matplotlib 使用子图的子图网格的使用技巧和注意事项,需要的朋友参考一下 示例
问题内容: 我试图用风玫瑰的4个子图制作一个人物,但是我意识到风玫瑰只有这样的轴:那么,我如何用风玫瑰画一个子图? 问题答案: 有两种解决方案: (a)从矩形创建轴 首先,这里已经存在一个类似的问题:如何将特定轴添加到matplotlib子图中? 在那里,解决方案是在图中创建一个具有新子图轴坐标的矩形,然后调用 一个更容易理解的例子是 (b)添加投影 现在创建该矩形可能会很烦人,并且能够使用mat
主要内容:绘制线性函数图像,绘制正弦波图,subplot(),bar()柱状图,numpy.histogram(),plt()Matplotlib 是 Python 的绘图库,它经常与 NumPy 一起使用,从而提供一种能够代替 Matlab 的方案。不仅如此 Matplotlib 还可以与 PyQt 和 wxPython 等图形工具包一起使用。 Matplotlib 最初由 John D. Hunter 编写,目前,它的最新的版本是 3.3.1,最后一个支持 Python 2 的版本是 2.2
问题内容: 我正在尝试弹出一个图,以便用户可以确认拟合是否起作用,但不会挂断这样做的整个过程。但是,当窗口出现时,窗口中什么也没有,它是“无响应”。我怀疑与子流程功能之间的交互不良,因为此代码是前端代码,并且数据的处理都在C ++中运行。 下列子过程确实打开。如果我删除呼叫并使用,则绘图可以正常工作,但是整个过程将一直持续到关闭窗口。当用户查看图形时,我需要继续执行该过程。有没有办法做到这一点?
我想做的是在子地块中创建一个2x2图表。然后,对于每个图形,我将使用两个y轴。因此,我对每个图都使用了twinx()方法。您在我共享的图中看到的问题是,它没有显示第一行的xlabel和xtick。第二排,一切正常。我在图中用红色字体指定了这个问题(“没有xlabel和xticks!!!”)。 每个图都有自己的x轴和y轴,没有共享。 我对这段代码做了很多调整,缩小了问题制造者的范围。这是因为我在上面