首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用pyplot/gridspec增加单个子图的大小?

如何使用pyplot/gridspec增加单个子图的大小?
EN

Stack Overflow用户
提问于 2017-11-22 12:43:13
回答 2查看 1.9K关注 0票数 2

我试图在一个6x4网格中绘制23幅图,其中一个图的宽度是其他图形的两倍。我正在使用gridspec,我的当前代码是:

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec

x = np.arange(0, 7, 0.01)

fig = plt.figure(figsize=(6, 4))
gs = gridspec.GridSpec(nrows=6, ncols=4)

for n in range(22):
    ax = fig.add_subplot(gs[n])
    ax.plot(x, np.sin(0.2*n*x))

corrax = fig.add_subplot(gs[22])
fig.tight_layout()
plt.show()

这产生了以下情况:

我想增加最右边的地块在底部行的宽度,这样它就占用了那一行中剩余的空间。有办法做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-22 12:59:21

您可以使用切片从网格规范中选择几个位置,例如gs[22:24]

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec

x = np.arange(0, 7, 0.01)

fig = plt.figure(figsize=(6, 4))
gs = gridspec.GridSpec(nrows=6, ncols=4)

for n in range(22):
    ax = fig.add_subplot(gs[n])
    ax.plot(x, np.sin(0.2*n*x))

corrax = fig.add_subplot(gs[22:24])
corrax.plot(x,np.sin(0.2*22*x), color="crimson", lw=3)
fig.tight_layout()
plt.show()

还可以对网格规范进行二维切片。例如,要创建一个3x3网格并使右下角的图跨越两列和两行,您可以像gs[1:,1:]一样分割。

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec

x = np.arange(0, 7, 0.01)

fig = plt.figure(figsize=(6, 4))
gs = gridspec.GridSpec(nrows=3, ncols=3)

for n in range(3):
    ax = fig.add_subplot(gs[0,n])
    ax.plot(x, np.sin(0.2*n*x))
    if n !=0:
        ax = fig.add_subplot(gs[n,0])
        ax.plot(x, np.sin(0.2*n*x))

corrax = fig.add_subplot(gs[1:,1:])
corrax.plot(x,np.sin(0.2*22*x), color="crimson", lw=3)
fig.tight_layout()
plt.show()

票数 5
EN

Stack Overflow用户

发布于 2017-11-22 13:14:27

代码语言:javascript
运行
复制
#corrax = fig.add_subplot(gs[5,2:])
corrax = fig.add_subplot(6,4,(23,24))

两个人都在工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47435055

复制
相关文章

相似问题

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