Это становится еще сложнее с подсюжетами. Например, если я использую plt.subplots(1, 1) с заголовком, метками осей и цветовой полосой и сравниваю его с plt.subplots(4, 4) (16 подграфиков в сетке), довольно сложно добиться того, чтобы каждая из этих областей «рисования» подграфиков была точно одинакового размера, просто настроив figsize. Часто пространство, занимаемое цветовой полосой, делениями/метками по осям и интервалом подграфиков, изменяет доступную область данных способами, которые сложно стандартизировать.
Есть ли способ зафиксировать данные площадь до фиксированного размера (скажем, 2 на 2 дюйма) независимо от заголовков, меток, цветных полос или конфигурации подграфика? В идеале я хотел бы гарантировать, что если я удалю заголовки или метки осей с одного рисунка или изменю количество подграфиков, область данных каждой оси останется того же размера, что и на другом рисунке, который имеет заголовки/метки или использует другой макет подграфика.
Любые предложения или примеры кода будут с благодарностью приняты. Спасибо!
Примеры:
Код: Выделить всё
## No title, axis labels, or colorbar
fig, ax = plt.subplots(figsize=(4, 2))
ax.imshow(np.sin(np.linspace(0, 10, 100)).reshape(-1, 1),
aspect='auto',
cmap='Spectral')
plt.tight_layout()
plt.show()

Код: Выделить всё
## Same plot as above with title, axis labels, and colorbar
fig, ax = plt.subplots(figsize=(4, 2))
im = ax.imshow(np.sin(np.linspace(0, 10, 100)).reshape(-1, 1),
aspect='auto',
cmap='Spectral')
ax.set_title('Sine Wave', fontsize=16, fontfamily='monospace')
ax.set_xlabel('Time', fontsize=16, fontfamily='monospace')
ax.set_ylabel('Amplitude', fontsize=16, fontfamily='monospace')
plt.colorbar(im, ax=ax, aspect=3)
plt.tight_layout()
plt.show()

Подробнее здесь: https://stackoverflow.com/questions/793 ... bels-in-ma
Мобильная версия