Проблема возникает из-за того, что соотношение сторон вашего изображения установлено на «равно» по умолчанию в plt.imshow()
.Это меняет макет ваших участков и влияет на параметр hspace
.
У вас есть 2 варианта.Сначала вы можете установить соотношение сторон вашего изображения на «auto» и оставить значение hspace
равным 0. Однако, если соотношение сторон имеет важное значение, вы можете вручную отрегулировать параметр hspace, задав отрицательное значение.
Используя простой пример:
image = np.random.randint(0,20,(300,1300)) # fake data
# ====== Option 1 ======
fig, (axint, axim) = plt.subplots(2, 1, gridspec_kw = {'hspace':0})
axim.imshow(image, aspect="auto")
# ====== Option 2 ======
# fig, (axint, axim) = plt.subplots(2, 1, gridspec_kw = {'hspace':-0.23})
# axim.imshow(image)
axim.get_yaxis().set_visible(False)
axint.plot(np.arange(0,1300), np.random.randn(1300), "b")
axint.get_xaxis().set_visible(False)
plt.show()
Оба метода дают:

Я думаю, что вариант 1 лучше, если аспектсоотношение не важно.Вариант 2 требует проб и ошибок, чтобы найти правильный параметр для hspace
.Кроме того, если вы измените размер фигуры путем перетаскивания окна, опция 2 не будет правильно масштабироваться