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()

Contacts: teffal@mail.ru