Первый график
matplotlib — главная библиотека для построения графиков в Python. На ней основаны графики pandas и seaborn, а в научных статьях и отчётах её картинки встречаются повсюду. В этой теме — как построить и оформить простой линейный график.
Подключение
import matplotlib.pyplot as plt
pyplot — набор функций для быстрого построения графиков; сокращение plt общепринятое.
На сайте графики строятся «в памяти»: нажмите Запустить, и под выводом появится картинка. На своём компьютере, чтобы открыть окно с графиком, в конце программы вызывают
plt.show(), а чтобы сохранить в файл —plt.savefig("chart.png").
Линейный график
months = [1, 2, 3, 4, 5, 6]
sales = [120, 135, 128, 160, 172, 190]
plt.plot(months, sales)
plt.plot(x, y) ставит точки (x[i], y[i]) и соединяет их линией по порядку. Списки должны быть одной длины.
Если передать только один список, он будет значениями y, а по горизонтали — номера точек 0, 1, 2, …:
plt.plot([3, 1, 4, 1, 5])
Вместо списков можно передавать массивы numpy — так удобно рисовать функции:
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
plt.plot(x, np.sin(x))
Чем больше точек, тем более гладкой выглядит кривая.
Подписи
График без подписей непонятен. Добавим заголовок и подписи осей:
plt.plot(months, sales)
plt.title("Продажи за полгода")
plt.xlabel("Месяц")
plt.ylabel("Тыс. рублей")
Цвет и стиль линии
Параметры plot:
| Параметр | Что задаёт | Примеры |
|---|---|---|
color |
цвет | "red", "tab:blue", "#ff8800" |
linestyle |
стиль линии | "-" сплошная, "--" пунктир, ":" точки, "-." |
linewidth |
толщина | 1, 2.5 |
marker |
маркер в точках | "o" кружок, "s" квадрат, "^" треугольник, "x" |
markersize |
размер маркера | 6, 10 |
plt.plot(months, sales, color="green", linestyle=":", linewidth=2, marker="s")
Есть и короткая запись строкой формата: plt.plot(x, y, "g:s") — зелёная точечная линия с квадратами.
Сетка и пределы осей
plt.grid(True) # сетка
plt.xlim(0, 7) # пределы по горизонтали
plt.ylim(0, 200) # по вертикали
plt.xticks([1, 3, 5]) # какие отметки подписать на оси
Как проверяются задачи
В задачах этого курса программа строит график, а проверка «читает» его: какие у графика заголовок и подписи, сколько линий, какие у них точки, цвет и стиль. Поэтому важно точно выполнить требования условия: текст подписей посимвольно, точки — в правильном порядке.
Посмотреть, что получилось, можно в любой момент кнопкой Запустить.
Итог
import matplotlib.pyplot as plt;plt.plot(x, y)— линия по точкам; один аргумент — этоy;plt.title,plt.xlabel,plt.ylabel— подписи;color,linestyle,linewidth,marker— оформление линии;"r--o"— короткий формат;plt.grid(True),plt.xlim,plt.ylim— сетка и пределы;- на компьютере:
plt.show()— окно,plt.savefig("файл.png")— сохранение.