Matplotlib — это мощная библиотека Python для создания визуализаций. Одной из распространенных задач является настройка размера рисунка для презентаций, публикаций или личного использования. В этой статье рассматриваются несколько способов управления размерами рисунка в Matplotlib.
Содержание
- Способ 1: Установка размера рисунка с помощью
figsize
- Способ 2: Изменение размера после создания
- Способ 3: Установка размера рисунка по умолчанию с помощью
rcParams
- Решение проблем
Способ 1: Установка размера рисунка с помощью figsize
Простейший способ управлять размером рисунка — использовать параметр figsize
в plt.figure()
. figsize
принимает кортеж (ширина, высота)
в дюймах.
import matplotlib.pyplot as plt
# Создаем рисунок шириной 8 дюймов и высотой 6 дюймов
fig = plt.figure(figsize=(8, 6))
# Добавляем график
plt.plot([1, 2, 3, 4], [5, 6, 7, 8])
plt.show()
Это устанавливает размер до построения графика, что обычно предпочтительнее.
Способ 2: Изменение размера после создания
Если вам нужно изменить размер рисунка после его создания, используйте метод set_size_inches()
:
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([1, 2, 3, 4], [5, 6, 7, 8])
fig.set_size_inches(10, 4) # Изменяем на 10x4 дюйма
plt.show()
Это полезно для динамической настройки, но менее эффективно, чем установка размера изначально.
Способ 3: Установка размера рисунка по умолчанию с помощью rcParams
Для обеспечения согласованного размера на нескольких графиках измените конфигурацию времени выполнения Matplotlib (rcParams
):
import matplotlib.pyplot as plt
# Устанавливаем размер рисунка по умолчанию 6x4 дюйма
plt.rcParams["figure.figsize"] = [6, 4]
plt.plot([1, 2, 3, 4], [5, 6, 7, 8])
plt.show()
plt.figure()
plt.plot([1,2,3],[4,5,6])
plt.show()
Это влияет на все последующие рисунки, если не указано иное. Изменения сохраняются до завершения сессии Matplotlib.
Решение проблем
В: Мой рисунок все еще слишком маленький/большой.
О: Проверьте, используете ли вы дюймы. Обратите внимание на код, влияющий на компоновку (например, tight_layout()
). Поэкспериментируйте с различными значениями figsize
.
В: Могу ли я изменить соотношение сторон?
О: Да, настройте ширину и высоту в figsize
или set_size_inches()
.
В: Что, если я использую одновременно figsize
и set_size_inches()
?
О: set_size_inches()
переопределяет figsize
.
В: Есть ли какие-либо ограничения?
О: Очень большие рисунки могут вызывать проблемы с производительностью или превышать возможности отображения. Очень маленькие рисунки могут привести к нечитаемому содержимому.