Визуализация данных в Jupyter Notebook

Построение графиков с Matplotlib

Содержание курса

Несколько графиков на одном рисунке

Matplotlib позволяет отобразить несколько линий на одном графике или сделать несколько графиков рядом (подграфики).

Несколько линий в одном окне: Например, отобразим сразу и на одной системе координат:

y2 = np.cos(x)
plt.plot(x, y, label="sin(x)")
plt.plot(x, y2, label="cos(x)")
plt.title("sin(x) и cos(x)")
plt.xlabel("x")
plt.ylabel("значение функции")
plt.legend()
plt.show()

Мы добавили вторым вызовом plt.plot ещё одну линию (cos). Matplotlib автоматически выберет для них разные цвета (обычно первая – синяя, вторая – оранжевая). Легенда теперь будет содержать два элемента. Так наглядно видно, что синус и косинус – сдвинуты по фазе.

Раздельные графики (subplots): Иногда удобнее не накладывать графики, а расположить их рядом или друг под другом. Для этого используют функцию plt.subplots. Пример: построим два графика рядом – левый для sin, правый для cos.

fig, axes = plt.subplots(1, 2, figsize=(10, 4))
axes[0].plot(x, y, color="blue")
axes[0].set_title("sin(x)")
axes[1].plot(x, y2, color="orange")
axes[1].set_title("cos(x)")
plt.show()

Здесь plt.subplots(1, 2, figsize=(10, 4)) создаёт фигуру (fig) с сеткой из 1 строки и 2 колонок графиков. axes – список из двух объектов осей (AxesSubplot). Мы нарисовали sin на первом (axes[0]) и cos на втором (axes[1]), задав заголовки. figsize управляет размером всего рисунка в дюймах (10x4 дюйма, т.е. примерно 1000x400 пикселей, если считать 100 dpi).

В результате получим два отдельных графика рядом. Это полезно для сравнительного анализа. Можно таким способом строить матрицы графиков (например, 2x2).