matplotlib 如何向现有地物添加子图?

r1zk6ea1  于 2023-11-22  发布在  其他
关注(0)|答案(1)|浏览(116)

假设我有一个预先存在的图,如:

from matplotlib import pyplot as plt
fig, axes = plt.subplots(nrows=2, ncols=3)

字符串


的数据
我如何添加第5个子图,将两行都放在第三列中?
我知道这是很容易创建这样一个数字从一开始就使用,例如,马赛克一样,

plt.figure().subplot_mosaic([[1, 2, 3], [4, 5, 3]])


它产生我想要的东西:



但是这个图来自一个现有的应用程序,如果我手动复制同样的图,那将需要大量的代码。所以我真的需要一种方法来做这件事 * 在 * 前4个子图已经构建和绘制之后。
可以这样做吗?(最好是在constrained_layout激活的情况下,尽管我相信这要求太高了。
PS:我尝试了解决方案herehere,但我不能让他们为我想要的工作.

nwlls2ji

nwlls2ji1#

您可以通过先调整当前绘图,然后将新轴放置在指定位置来添加新轴。

import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=2, ncols=3)
plt.subplots_adjust(right=0.7 )
ax2 = fig.add_axes((0.75, 0.1, 0.2, 0.8))
plt.show()

字符串
在这里,我将现有图表的右边框设置为0.7(相对单位),然后将新轴放入矩形中:(左,底,宽,高)(相对单位)。使用ax2.plot()在新轴上添加数据。它会打乱布局,但我不知道如何应对。如果在终端中打开,但是,在全屏(图片相关)中看起来不错

相关问题