Skip to content

Matplotlib ​

Маtplotlib - это одна из наиболее популярных библиотек для создания графиков и диаграмм в Python. Он предназначен для создания высококачественных 2D и 3D графиков, а также для построения различных типов диаграмм, включая графы линии, графики точек, столбчатые графики, круговые диаграммы, и так далее.

Основные функции Matplotlib ​

  1. Создание графиков:
  • plt.plot(): создание графика линий
  • plt.scatter(): создание графика точек
  • plt.hist(): создание гистограммы
  • plt.bar(): создание столбчатых графиков
  • plt.pie(): создание круговых диаграмм
  1. Настройка графиков:
  • plt.title(): установка названия графика
  • plt.xlabel(): установка названия оси X
  • plt.ylabel(): установка названия оси Y
  • plt.legend(): добавление легенды
  1. Работа с цветами и стилями:
  • plt.style.use(): установка стиля графика
  • plt.rcParams: настройка цветов и других параметров графика
  1. Работа с графиками:
  • plt.show(): отображение графика
  • plt.savefig(): сохранение графика в файл в различных форматах (PNG, JPG, SVG, PDF и др.).
  • plt.close(): закрытие графика

Применение Matplotlib

  1. Анализ данных:
  • создание графиков для анализа данных
  • настройка графиков для улучшения легко читаемости данных
  1. Презентации и отчеты:
  • создание графиков для презентаций и отчетов
  • настройка графиков для улучшения их визуальной привлекательности
  1. Навыки программирования:
  • создание графиков в программе для изучения алгоритмов и методов
  • настройка графиков для улучшения понимания данных

Построение основных диаграмм ​

Создание линейной диаграммы ​

python
import matplotlib.pyplot as plt

# Данные
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# Построение графика
plt.plot(x, y)

# Добавление заголовков и подписей
plt.title("Линейный график")
plt.xlabel("Ось X")
plt.ylabel("Ось Y")

# Показ графика
plt.show()
plt.savefig('img/diagram_plot.svg', format='svg')

Результат запуска кода:

Линейная диаграмма

Создание точечной диаграммы ​

python
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.scatter(x, y)
plt.title('График точек')
plt.xlabel('X')
plt.ylabel('Y')
plt.savefig('img/diagram_scatter.svg', format='svg')
plt.show()

Результат запуска кода:

Точечная диаграмма

Создание гистограммы ​

python
import matplotlib.pyplot as plt

data = [1, 2, 2, 3, 3, 3, 4, 4, 5]
plt.hist(data, bins=5, color='blue', edgecolor='black')
plt.title("Гистограмма")
plt.xlabel("Значения")
plt.ylabel("Частота")
plt.savefig('img/diagram_hist.svg', format='svg')
plt.show()

Результат запуска кода:

Гистограмма

Создание столбчатой диаграммы ​

python
import matplotlib.pyplot as plt

labels = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
values = [10, 15, 7, 12, 20]

plt.bar(labels, values)
plt.title('Столбчатый график')
plt.xlabel('Месяц')
plt.ylabel('Значение')
plt.savefig('img/diagram_bar.svg', format='svg')
plt.show()

Результат запуска кода:

Столбчатая диаграмма

Создание круговой диаграммы ​

python
import matplotlib.pyplot as plt

labels = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
values = [10, 15, 7, 12, 20]

plt.pie(values, labels=labels)
plt.title('Круговая диаграмма')
plt.savefig('img/diagram_pie.svg', format='svg')
plt.show()

Результат запуска кода:

Круговая диаграмма

Построение нескольких графиков ​

python
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label="sin(x)", color="blue")
plt.plot(x, y2, label="cos(x)", color="green")
plt.title("Несколько графиков")
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.legend()
plt.savefig('img/diagrams_plot_plot.svg', format='svg')
plt.show()

Результат запуска кода:

Несколько диаграмм

Настройка графика ​

Matplotlib позволяет настроить практически каждый аспект графика, включая цвета, шрифты, размеры и многое другое. Например, можно изменить цвет и стиль линии в линейном графике, используя различные опции в функции plot().

python
plt.plot(x, y, color='red', linestyle='--', marker='o')
python
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.style.use('ggplot')  # Применение стиля ggplot
plt.plot(x, y)
plt.title('График линии')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True)  # добавление сетки
plt.legend(['Линия'])  # добавление легенды
plt.savefig('img/diagram_plot_style.svg', format='svg')
plt.show()

Результат запуска кода:

Линейная диаграмма со стилем

Размещение нескольких графиков (subplot) ​

Одним из ключевых преимуществ matplotlib.pyplot является его способность создавать сложные, многоэлементные графики. Например, можно создать график, содержащий несколько графиков, используя функцию subplots().

python
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 8, 27, 64, 125]

plt.subplot(2, 1, 1)  # Первый график (2 строки, 1 столбец, 1-й график)
plt.plot(x, y1, 'r-')
plt.title("График 1")

plt.subplot(2, 1, 2)  # Второй график
plt.plot(x, y2, 'b-')
plt.title("График 2")

plt.tight_layout()  # Устранение наложения
plt.savefig('img/diagrams_top_bottom.svg', format='svg')
plt.show()

Результат запуска кода:

Диаграмма сверху снизу

python
fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].scatter(x, y)
axs[1, 0].bar(x, y)
axs[1, 1].hist(data, bins=30)
plt.show()