Введение
Matplotlib — это мощная библиотека для создания статических, анимированных и интерактивных визуализаций на языке Python. Она является одной из самых популярных библиотек для визуализации данных и незаменима для любого специалиста по работе с данными или аналитика, использующего Python.
Линейный график — это один из самых простых и широко используемых типов графиков. Он отображает информацию в виде последовательности точек данных (так называемых «маркеров»), соединенных прямыми отрезками. Он часто применяется для визуализации изменения данных во временных интервалах (временных рядов), поэтому линии обычно строятся в хронологическом порядке.
В этом практическом занятии вы узнаете, как создать простой линейный график с нуля. Мы пройдем через весь процесс: подготовку данных, построение графика, добавление описательных подписей к осям и, наконец, сохранение графика в виде файла изображения, который вы сможете напрямую просмотреть в среде LabEx.
Подготовка списков данных для осей x и y
На этом этапе мы подготовим данные для нашего графика. Прежде чем что-либо визуализировать, вам понадобятся данные. Для простого двумерного линейного графика нужны два набора данных: один для оси x (горизонтальной оси) и один для оси y (вертикальной оси).
Для хранения данных мы будем использовать списки Python. Давайте создадим простой набор данных, отражающий рост численности населения за несколько лет.
Сначала откройте файл main.py, расположенный в каталоге ~/project, с помощью файлового менеджера слева. В файле уже содержатся необходимые инструкции для импорта.
Теперь добавьте следующий код в файл main.py, чтобы создать два списка: x и y.
import matplotlib.pyplot as plt
## Данные для построения графика
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
Здесь x представляет годы, а y — численность населения в миллионах для каждого соответствующего года. Эти два списка будут служить координатами для нашего линейного графика.
Построение линии с помощью функции plt.plot(x, y)
На этом этапе мы используем подготовленные данные для создания самого графика. Модуль pyplot библиотеки Matplotlib, который мы импортировали как plt, предоставляет функцию plot(), идеально подходящую для этой задачи.
Функция plt.plot() принимает два основных аргумента: данные для оси x и данные для оси y. Затем она строит линию, соединяющую точки, заданные этими координатами.
Добавьте следующую строку в ваш скрипт main.py сразу после списков данных, созданных на предыдущем шаге.
import matplotlib.pyplot as plt
## Данные для построения графика
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Создание графика
plt.plot(x, y)
Эта единственная строка кода указывает Matplotlib создать линейный график, используя списки x и y в качестве координат. Однако, если вы запустите скрипт прямо сейчас, вы ничего не увидите. Нам по-прежнему необходимо добавить подписи к осям и явно сохранить график в файл.
Добавление подписи к оси x с помощью plt.xlabel()
На этом этапе мы добавим подпись к оси x. График без подписей часто не имеет смысла, так как зритель не понимает, что именно представляют собой оси. Это важнейшая часть создания понятных и информативных визуализаций.
Matplotlib предоставляет функцию plt.xlabel() для добавления подписи к оси x. Вы просто передаете нужную подпись в качестве строки в эту функцию.
Давайте добавим подпись «Year» (Год) к нашему графику. Добавьте следующую строку в ваш скрипт main.py после вызова plt.plot().
import matplotlib.pyplot as plt
## Данные для построения графика
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Создание графика
plt.plot(x, y)
## Добавление подписи к оси x
plt.xlabel("Year")
Теперь горизонтальная ось нашего графика будет четко подписана как «Year».
Добавление подписи к оси y с помощью plt.ylabel()
На этом этапе мы добавим подпись к оси y, завершив базовое оформление подписей нашего графика. Точно так же, как и ось x, ось y нуждается в описательной подписи, чтобы пользователи могли понять представленные данные.
Функция для этого — plt.ylabel(), которая работает абсолютно так же, как и plt.xlabel(). В нее передается текст подписи в виде строки.
Давайте добавим подпись «Population (in millions)» (Население в миллионах) к нашему графику. Добавьте следующую строку в ваш скрипт main.py сразу после вызова plt.xlabel().
import matplotlib.pyplot as plt
## Данные для построения графика
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Создание графика
plt.plot(x, y)
## Добавление подписи к оси x
plt.xlabel("Year")
## Добавление подписи к оси y
plt.ylabel("Population (in millions)")
Теперь, когда обе оси подписаны, наш график стал намного понятнее.
Отображение графика с помощью plt.show()
На этом этапе мы сгенерируем и просмотрим наш график. В обычной настольной операционной системе вы могли бы использовать plt.show() для вывода графика в новом окне. Однако в веб-среде, такой как LabEx, мы не можем открывать графические окна пользовательского интерфейса (GUI).
Вместо этого мы сохраним график в файл изображения с помощью функции plt.savefig(). Эта функция сохраняет текущую фигуру в файл внутри каталога вашего проекта.
Добавьте следующую строку в конец вашего скрипта main.py. Это сохранит график в виде PNG-изображения с именем line_plot.png.
import matplotlib.pyplot as plt
## Данные для построения графика
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Создание графика
plt.plot(x, y)
## Добавление подписи к оси x
plt.xlabel("Year")
## Добавление подписи к оси y
plt.ylabel("Population (in millions)")
## Сохранение графика в файл
plt.savefig("line_plot.png")
Теперь откройте терминал в WebIDE (вы можете использовать значок + на панели терминала или меню Terminal > New Terminal). Запустите ваш скрипт с помощью следующей команды:
python3 main.py
После завершения выполнения команды вы увидите новый файл с именем line_plot.png в файловом менеджере слева. Дважды щелкните по файлу line_plot.png, чтобы открыть его и увидеть готовый линейный график!

Резюме
Поздравляем! Вы успешно создали и сохранили свой первый линейный график с помощью библиотеки Matplotlib.
В ходе этого практического занятия вы изучили базовый рабочий процесс создания простого графика:
- Подготовка данных: Вы создали списки Python для хранения данных по осям x и y.
- Построение графика: Вы использовали функцию
plt.plot()для генерации линейного графика на основе ваших данных. - Добавление подписей: Вы сделали график информативным, добавив подписи с помощью
plt.xlabel()иplt.ylabel(). - Сохранение графика: Вы научились использовать
plt.savefig()для сохранения визуализации в файл, что крайне важно в средах без графического интерфейса.
Это лишь начало того, что вы можете делать с помощью Matplotlib. Теперь вы можете опираться на эти навыки для создания более сложных и настраиваемых визуализаций. Продолжайте исследования!



