【发布时间】:2016-07-02 14:58:13
【问题描述】:
我对 matplotlib 非常陌生,尽管我知道它可能非常强大。 我一直在阅读大量教程和示例,要了解 matplotlib 的 Figure 和 Axes 是如何工作的确实很麻烦。我正在用附图说明我想要理解的内容。
我知道如何创建以英寸为单位的特定尺寸的图形实例。但是,困扰我的是如何在每个子图中使用相对坐标(底部=0,左侧=0,顶部=1,右侧=1)创建子图,然后创建轴,如图所示。
因此,例如,我想创建一个“父”绘图区域(例如(6 英寸,10 英寸))。然后,我想创建两个子区域,每个区域的大小为(3 英寸,3 英寸),距离顶部 1 英寸,两个垂直子区域之间的距离为 2 英寸,距离底部 1 英寸。然后,左边有 1 英寸的空间,写入时有 2 英寸的空间。同时,我希望能够获得子情节区域相对于主情节区域的坐标。
然后,在第一个子图区域内,我想创建 2 个轴实例,轴 1,具有相对于子图区域 1 (0.1,0.7,0.7,0.2) 和轴 2 (0.1,0.2,0.7,0.5) 的坐标.然后我当然希望能够在这些轴上绘图,例如ax1.plot()....
如果你能提供一个示例代码来实现这一点,那么我可以研究它。
您的帮助将不胜感激!
【问题讨论】:
-
subplot和Axes对象实际上是一回事。正如您在 matplotlib 中描述的那样,实际上并没有“子图”。您可以使用gridspec创建您的三个Axes对象,而无需将它们放入您的“子图” -
那么,为什么matplotlib有两个独立的类
Axes和subplot,其实它们是同一个东西呢? -
fig.add_subplot返回一个Axes实例。subplot不是一个类,它是一个返回轴的函数。 -
嗨@tom,那么
fig.add_subplot和fig.add_axes有什么区别? -
在评论中写的太多了,所以我添加了一些细节的答案
标签: matplotlib figure axes