регулирование высот отдельных подграфиков в matplotlib в Python

если у меня есть ряд подграфиков с одним столбцом и многих строк, т.е.:

plt.subplot(4, 1, 1) # first subplot
plt.subplot(4, 1, 2) # second subplot
# ...

как я могу регулировать высоту первых подграфиков N? Например, если у меня есть 4 подграфика, каждый на его собственной строке, я хочу, чтобы у всех них была та же ширина, но первые 3 подграфика, чтобы быть короче, т.е. иметь их оси y быть меньшим и поднять меньше графика, чем ось y последнего графика в строке. Как я могу сделать это?

спасибо.

12
задан 25 July 2010 в 17:04
поделиться

1 ответ

Есть несколько способов сделать это. Самый простой (и наименее гибкий) способ - просто вызвать что-то вроде:

import matplotlib.pyplot as plt
plt.subplot(6,1,1)
plt.subplot(6,1,2)
plt.subplot(6,1,3)
plt.subplot(2,1,2)

Что даст вам что-то вроде этого: Unequal Subplots

Однако это не очень гибко. Если вы используете matplotlib> = 1.0.0, попробуйте использовать GridSpec . Это довольно приятно и представляет собой гораздо более гибкий способ разметки подзаговоров.

4
ответ дан 2 December 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: