一个图中的子图与其他图中的子图具有相同的尺寸

时间:2018-05-31 14:43:35

标签: matplotlib subplot axes

以下代码:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(ncols=3, nrows=4, sharex='col', sharey=False,\
            subplot_kw=dict(adjustable='box-forced'), figsize=(8, 8))

fig, axes = plt.subplots(ncols=3, nrows=3, sharex='col', sharey=False,\
            subplot_kw=dict(adjustable='box-forced'), figsize=(8, 8))    
plt.show()

产生两个图:

第一个图的子图分布为ncols=3, nrows=4。每个子图的大小都非常适合我的需要。

enter image description here

第二个图的子图分布为ncols=3, nrows=3

enter image description here

我怎样才能使这些子图中的每个子图与第一个图中的子图具有相同的尺寸?

1 个答案:

答案 0 :(得分:2)

一种方法是将最后一行设置为"不可见":

import matplotlib.pyplot as plt

fig, axes = plt.subplots(ncols=3, nrows=4, sharex='col', sharey=False,\
            subplot_kw=dict(adjustable='box-forced'), figsize=(8, 8))

fig, axes = plt.subplots(ncols=3, nrows=4, sharex='col', sharey=False,\
            subplot_kw=dict(adjustable='box-forced'), figsize=(8, 8))

[ax.set_visible(False) for ax in axes[3,:]]
plt.show()

enter image description here

enter image description here