1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-matplotlib-user-guide-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
3.4.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 03:14 86b54d1

Для обновления hspace и vspace мы снова используем обновлённый параметр rect для вызова tight_layout(). Обратите внимание, что область, указанная параметром rect, включает метки шкалы. Поэтому мы увеличиваем нижнюю часть (которая обычно равна 0) на разницу между нижней частью каждого gridspec. То же самое касается верхней части.

top = min(gs1.top, gs2.top)
bottom = max(gs1.bottom, gs2.bottom)

gs1.tight_layout(fig, rect=[None, 0 + (bottom-gs1.bottom),
                            0.5, 1 - (gs1.top-top)])
gs2.tight_layout(fig, rect=[0.5, 0 + (bottom-gs2.bottom),
                            None, 1 - (gs2.top-top)],
                 h_pad=0.5)

Использование с AxesGrid1

Хотя и ограничено, также поддерживается пакет инструментов axes_grid1.

plt.close('all')
fig = plt.figure()

from mpl_toolkits.axes_grid1 import Grid
grid = Grid(fig, rect=111, nrows_ncols=(2,2),
            axes_pad=0.25, label_mode='L',
            )

for ax in grid:
    example_plot(ax)
    ax.title.set_visible(False)

plt.tight_layout()

Цветовая шкала

Если вы используете команду colorbar для создания цветовой шкалы, созданная цветовая шкала является экземпляром Axes, а не Subplot, поэтому tight_layout не действует. В Matplotlib v1.1 вы можете использовать gridspec для создания цветовой шкалы в качестве подграфика.

plt.close('all')
arr = np.arange(100).reshape((10,10))
fig = plt.figure(figsize=(4, 4))
im = plt.imshow(arr, interpolation="none")

plt.colorbar(im, use_gridspec=True)

plt.tight_layout()

Другой вариант — использовать пакет инструментов AxesGrid1 и явно создать область осей для цветовой шкалы:

plt.close('all')
arr = np.arange(100).reshape((10,10))
fig = plt.figure(figsize=(4, 4))
im = plt.imshow(arr, interpolation="none")

from mpl_toolkits.axes_grid1 import make_axes_locatable
divider = make_axes_locatable(plt.gca())
cax = divider.append_axes("right", "5%", pad="3%")
plt.colorbar(im, cax=cax)

plt.tight_layout()

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-matplotlib-user-guide-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-matplotlib-user-guide-zh.git
oschina-mirror
wizardforcel-matplotlib-user-guide-zh
wizardforcel-matplotlib-user-guide-zh
master