首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib add_subplot奇数图

matplotlib add_subplot奇数图
EN

Stack Overflow用户
提问于 2016-12-07 18:54:52
回答 3查看 5.2K关注 0票数 5

我知道add_subplot()做了一个四边形网格,我正在用一个4x4网格,但是我还需要一个。我怎么能做同样的事情,但用一些奇数的情节,让它看起来像这样?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-07 19:20:34

当然,有一些非常复杂的解决方案,例如gridspec模块,在许多情况下,这是一个非常巧妙的工具。

但是,在这里有一个相当简单的需求时,您仍然可以像往常一样使用add_subplot()

代码语言:javascript
复制
import matplotlib.pyplot as plt

fig = plt.figure()

ax1 = fig.add_subplot(321)
ax2 = fig.add_subplot(323)
ax3 = fig.add_subplot(325)
ax4 = fig.add_subplot(222)
ax5 = fig.add_subplot(224)

编辑:为了使轴ax1ax2ax3共享x轴,可以将sharex参数用于add_subplot。可以选择地,关闭x标签应该通过设置它们不可见来完成,否则所有三个轴都会松掉它们的标签。

代码语言:javascript
复制
import matplotlib.pyplot as plt

fig = plt.figure()

ax1 = fig.add_subplot(321)
ax2 = fig.add_subplot(323, sharex=ax1)
ax3 = fig.add_subplot(325, sharex=ax1)
ax4 = fig.add_subplot(222)
ax5 = fig.add_subplot(224)

plt.setp(ax1.get_xticklabels(), visible=False)
plt.setp(ax2.get_xticklabels(), visible=False)
票数 5
EN

Stack Overflow用户

发布于 2016-12-07 19:02:57

您需要使用gridspec子模块:

代码语言:javascript
复制
fig = pyplot.figure(figsize=(6, 4))
gs = gridspec.GridSpec(nrows=6, ncols=2)

ax11 = fig.add_subplot(gs[:2, 0])
ax21 = fig.add_subplot(gs[2:4, 0])
ax31 = fig.add_subplot(gs[4:, 0])
ax12 = fig.add_subplot(gs[:3, 1])
ax22 = fig.add_subplot(gs[3:, 1])
fig.tight_layout()

票数 6
EN

Stack Overflow用户

发布于 2016-12-07 19:05:14

潜在选项如下

代码语言:javascript
复制
fig = plt.figure()                               
ax1 = plt.subplot2grid((6, 2), (0, 0), rowspan=2)
ax2 = plt.subplot2grid((6, 2), (2, 0), rowspan=2)
ax3 = plt.subplot2grid((6, 2), (4, 0), rowspan=2)
ax4 = plt.subplot2grid((6, 2), (0, 1), rowspan=3)
ax5 = plt.subplot2grid((6, 2), (3, 1), rowspan=3)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41025187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档