Тесты Пообщаться с GPT Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
24 Фев 2023
2 мин
1518

Работа с размером и расстоянием между графиками в Matplotlib

Пройдите тест, узнайте какой профессии подходите

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

Часто при работе с библиотекой Matplotlib для языка программирования Python возникает задача создания нескольких графиков, расположенных друг над другом. Если графиков получается слишком много, они могут начать перекрывать друг друга, что сильно ухудшает восприятие информации. К сожалению, по умолчанию Matplotlib не всегда корректно определяет оптимальное расстояние между графиками, особенно если их очень много.

Вот типичный пример кода, который создает ряд графиков:

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10,60))

for i in range(10):
    plt.subplot(10, 1, i+1)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(f"Plot #{i+1}")
    plt.plot([0, 1, 2, 3, 4, 5],[i*j for j in range(6)])

fig.savefig('out.png', dpi=100)

Но если количество графиков будет увеличиваться, они начнут перекрывать друг друга.

Однако, решить данную проблему можно с помощью метода subplots_adjust(), который позволяет управлять расстоянием между графиками.

Метод subplots_adjust() принимает следующие параметры:

  • left, right, top, bottom – координаты краев фигуры (от 0 до 1);
  • wspace и hspace – расстояние между графиками.

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

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10,60))

for i in range(10):
    plt.subplot(10, 1, i+1)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(f"Plot #{i+1}")
    plt.plot([0, 1, 2, 3, 4, 5],[i*j for j in range(6)])

plt.subplots_adjust(hspace = 0.5)
fig.savefig('out.png', dpi=100)

Теперь все графики на рисунке разделены и не перекрывают друг друга.

Добавить комментарий