提问者:小点点

调用plt.subplot()重置子图大小


我是matplotlib的新手,所以请原谅我的noob问题。 这段代码很好用:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 2, 
                       gridspec_kw={
                           'width_ratios': [2, 1],
                           'height_ratios': [1, 2]})

ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))

但是,如果我调用plt.subplot(221),用gridspec_kw定义的比率就会丢失:在图的左上角重新绘制子图(第三个子图消失)。

你能解释一下正在发生的事情吗?我怎样才能在不丢失比率的情况下获得对次要情节的参考?

谢啦!


共1个答案

匿名用户

通过调用plt.subplot(221),您可以在2x2网格(221)的左上角位置创建一个新的子图。 如plt.subplot()的注释所述:

Creating a subplot will delete any pre-existing subplot that overlaps 
with it beyond sharing a boundary

我不知道你到底是什么意思

我怎样才能得到一个支线情节的参考

您可以通过ax[i,j]访问相应的轴,就像在代码片段中一样。