Как изменить размер фигуры в Matplotlib

  1. Установка размера фигуры при запуске фигуры в Matplotlib
  2. rcParams установить размер фигуры в Matplotlib
  3. set_size_inches для изменения размера фигуры в Matplotlib после создания фигуры

Мы можем установить, а также изменить размер фигуры, нарисованной в Matplotlib. В этом уроке мы покажем, как манипулировать размером фигуры до и после создания фигуры.

Установка размера фигуры при запуске фигуры в Matplotlib

pyplot.figure создает новую фигуру с атрибутами, заданными в параметрах, где figsize определяет размер фигуры в дюймах.

figsize для задания размера фигуры в Matplotlib

from matplotlib import pyplot as plt

plt.figure(figsize=(4,4))
plt.show()

rcParams установить размер фигуры в Matplotlib

rcParams - это объект словаря, включающий свойства в Matplotlib. Мы могли бы назначить размер фигуры в качестве значения ключа figure.figsize в rcParams.

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = (4, 4)
plt.plot([[1,2], [3, 4]])
plt.show()

plt.rcParams может быть размещен до или после plt.plot. Любая фигура, созданная в тех же скриптах, будет иметь тот же размер фигуры, что и назначенная.

Вы можете назначить figure.figsize несколько раз в одних и тех же скриптах, но к созданным фигурам будет применена только первая настройка.

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = (6, 6)
plt.plot([[1,2], [3, 4]])
plt.figure()
plt.rcParams["figure.figsize"] = (2, 2)
plt.plot([[1,2], [3, 4]])
plt.show()

Обе фигуры имеют размер (6, 6), но не (2, 2).

set_size_inches для изменения размера фигуры в Matplotlib после создания фигуры

Если фигура уже создана, то мы можем использовать set_size_inches для изменения размера фигуры в Matplotlib.

from matplotlib import pyplot as plt

fig1 = plt.figure(1)
plt.plot([[1,2], [3, 4]])
fig2 = plt.figure(2)
plt.plot([[1,2], [3, 4]])

fig1.set_size_inches(3, 3)
fig2.set_size_inches(4, 4)

plt.show()

Здесь fig1 и fig2 являются ссылками на две созданные фигуры.

set_size_inches имеет опцию forward со значением по умолчанию True, что означает, что размер холста будет автоматически обновляться после указания нового размера.

comments powered by Disqus