matplotlib gridspec子图形的间距调整

px9o7tmv  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(198)

我想在不使用constrained_layout=True的情况下更改图中hspace的大小。
下面是我的代码:

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np

fig = plt.figure()
# fig = plt.figure(constrained_layout=True)
GridSpec = gridspec.GridSpec(ncols=1, nrows=2, figure= fig, hspace=0.9)

subfigure_1= fig.add_subfigure(GridSpec[0,:])
subplots_1= subfigure_1.subplots(1,1)

subfigure_2= fig.add_subfigure(GridSpec[1,:])
subplots_2= subfigure_2.subplots(1,1)

plt.show()

使用constrained_layout=True,它可以工作,但有时我会遇到其他问题,我不希望将此设置设置为True。(此外,似乎constrained_layout=True在gridSpec上禁用width_ratios。)

mrwjdhj3

mrwjdhj31#

您可以使用hspace更改它,但是您代码中的fig.add_subfigure.suplots在如何构造图形和应用hspace方面混淆了gridspec。相反,您可以直接使用fig.add_subplot调用gridspec(我使用hspace=0.1,以便更改显而易见):

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

fig = plt.figure()
GridSpec = gridspec.GridSpec(ncols=1, nrows=2, figure=fig, hspace=0.1)

subplots_1 = fig.add_subplot(GridSpec[0, :])
subplots_2 = fig.add_subplot(GridSpec[1, :])

plt.show()

相关问题