【发布时间】:2021-10-17 04:13:45
【问题描述】:
我有一个使用 gridspec 创建的子图网格。我知道如何在 gridspec 中创建跨行和列的子图。是否可以少量减少单个子图的宽度?例如,我们可以为单个子图设置宽度比吗?我想要的方式在图像中用红色标记。
我的代码如下所示:
import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(6, 4))
gs = gridspec.GridSpec(3, 5, height_ratios=[0.5,1,1])
for i in range(1, 3):
for j in range(5):
ax = plt.subplot(gs[i, j])
ax1 = plt.subplot(gs[0,1:2])
ax2 = plt.subplot(gs[0,2:])
for ax in [ax1, ax2]:
ax.tick_params(size=0)
ax.set_xticklabels([])
ax.set_yticklabels([])
我尝试了什么:
我尝试将宽度比设置为width_ratios = [1,1,1,1,0.5],但这会减小整列(最后一列)的宽度。
【问题讨论】:
-
您可以随时在要缩小的子图上执行 ax.set_postion。
标签: python matplotlib width subplot