Гид по технологиям

Визуализация данных в Jupyter Notebook: работа с графиками

4 min read Визуализация данных Обновлено 06 Dec 2025
Визуализация в Jupyter: графики и примеры
Визуализация в Jupyter: графики и примеры

График линии и точек, пример визуализации данных в Jupyter

Введение

Jupyter Notebook — основной инструмент для многих дата-сайентистов и аналитиков. Он предоставляет веб-интерфейс для интерактивного кода, визуализации и совместной работы. Визуализации помогают быстро понять контекст данных — выявить аномалии, тренды и зависимости.

Определение: matplotlib — это библиотека для создания 2D-графиков в Python; pandas предоставляет удобные структуры данных и методы для работы с таблицами.

Пререквизиты

Убедитесь, что на компьютере установлены Python, Jupyter, pandas и matplotlib. Установить можно через pip:

$ pip install jupyter
$ pip install pandas
$ pip install matplotlib

После установки запустите сервер Jupyter:

$ jupyter notebook

Откроется страница Jupyter в браузере с текущей директорией. ВАЖНО: не закрывайте терминал, в котором запущен сервер — при закрытии сервер остановится.

Простая линия (Simple Plot)

В новой ячейке Jupyter выполните пример простого линейного графика:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [2, 4, 6, 8, 10, 12, 14, 16]

plt.plot(x, y)
plt.show()

Пример простого линейного графика, созданного в Jupyter Notebook

Это создаёт линейный график. plt.plot() рисует линию, plt.show() отображает её. Чтобы получить кривую, измените значения y:

import matplotlib.pyplot as plt

x = [3,4,5,6,7,8,9,10,11,12]
y = [9,16,25,36,49,64,81,100,121,144]

plt.plot(x, y)
plt.show()

Кривая, пример визуализации квадратов значений

Обратите внимание: matplotlib автоматически рассчитывает шкалу осей. Важно также, чтобы длины списков x и y совпадали — иначе возникнет ошибка при выполнении.

Доступные типы диаграмм

Не все типы диаграмм рисуются по умолчанию: для гистограмм, столбчатых диаграмм и других нужно вызвать соответствующий метод.

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

Для столбчатого графика используйте plt.bar():

import matplotlib.pyplot as plt

x = [3,4,5,6,7,8,9,10,11,12]
y = [9,16,25,36,49,64,81,100,121,144]

plt.bar(x, y)
plt.show()

Столбчатая диаграмма, пример в Jupyter Notebook

Точечный график (Scatter)

Замените метод на plt.scatter():

import matplotlib.pyplot as plt

x = [3,4,5,6,7,8,9,10,11,12]
y = [9,16,25,36,49,64,81,100,121,144]

plt.scatter(x, y)
plt.show()

Точечная диаграмма (scatter) для визуализации корреляции

Круговая диаграмма (Pie)

Круговые диаграммы отличаются настройками. Пример с фигурой и размером:

import matplotlib.pyplot as plt

x = [4,9,16,25,36]
fig = plt.figure(figsize=(9, 5))

plt.pie(x)
plt.show()

Иллюстрация круговой диаграммы, пример параметров figsize

Полезные параметры pie():

  • labels — подписи слайсов
  • colors — цвета слайсов (текстом или hex)

Пример с подписями и цветами:

import matplotlib.pyplot as plt

x = [4,9,16,25,36]
fig = plt.figure(figsize=(5.5, 5.5))

plt.pie(
    x,
    labels=("Guavas", "Berries", "Mangoes", "Apples", "Avocado"),
    colors=("#a86544", "#eb5b13", "#ebc713", "#bdeb13", "#8aeb13")
)

plt.show()

Круговая диаграмма с подписями и цветами слайсов

Кроме перечисленных, есть hist (гистограмма), area (площадь), kde (оценка плотности). Подробности — в документации pandas и matplotlib.

Форматирование графиков

Чтобы добавить заголовок и подписи осей:

import matplotlib.pyplot as plt

plt.plot([1,2,3], [4,5,6])
plt.title("Заголовок графика")
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.show()

Добавление легенды:

plt.plot(x, y, label="Линия 1")
plt.legend()

Настройка сетки и размера:

plt.figure(figsize=(10, 4))
plt.grid(True)

Советы по доступности: используйте контрастные цвета и подписи, добавляйте значения в слайсы или подписи точек, если нужно — увеличьте шрифт plt.rcParams.update({“font.size”: 12}).

Работа с данными (pandas CSV)

Обычно данные загружают из CSV и визуализируют через pandas:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data.csv')

# Быстрый график из столбца
df['sales'].plot(kind='line')
plt.show()

Pandas упрощает построение через метод .plot(), который использует matplotlib под капотом.

Отладка и типичные ошибки

  • Ошибка ValueError: x and y must have same first dimension — длины массивов отличаются.
  • Пустой график — убедитесь, что plt.show() был вызван и данные не содержат NaN во всех точках.
  • Неправильные типы — передавайте числовые типы; для дат используйте pd.to_datetime().

Important: при работе в Jupyter, если графики не отображаются, проверьте, включен ли магический режим вывода графиков (в новых версиях Jupyter это обычно не требуется):

%matplotlib inline

Когда этот подход не подходит

  • Нужна интерактивность (zoom, hover): используйте plotly или bokeh.
  • Большие данные (миллионы точек): предварительно агрегируйте или используйте специализированные инструменты (Datashader).
  • Шаблоны визуализации для отчётности и дашбордов: рассмотрите Altair или Dash.

Альтернативы и сравнение (кратко)

  • seaborn — строится поверх matplotlib, даёт красивые статистические визуализации и темы по умолчанию.
  • plotly — интерактивные, масштабируемые графики в браузере.
  • bokeh — интерактивные визуализации для веба.

Мини-таблица совместимости:

  • Простая исследовательская визуализация: matplotlib / pandas
  • Статистические графики: seaborn
  • Интерктивные дашборды: plotly / bokeh
  • Большие наборы данных: Datashader

Практическая методология (быстрый чек-лист)

  1. Подготовьте данные: очистка, преобразование типов, агрегация.
  2. Выберите тип графика по задаче (тренд, распределение, сравнение, доли).
  3. Настройте подписи, легенду, шкалы и цветовую палитру.
  4. Проверка: проверьте размеры данных и отсутствие NaN.
  5. Документируйте выводы и сохраните изображение plt.savefig(‘plot.png’).

Чек-лист роли:

  • Аналитик: проверить корректность агрегирования и метрик.
  • Дизайнер данных: выбрать цветовую палитру и подписи.
  • Инженер: автоматизировать генерацию графиков и сохранение файлов.

Критерии приёмки

  • График корректно отображает ожидаемую зависимость.
  • Подписи осей и заголовок понятны и соответствуют данным.
  • Для публикации — добавлена легенда и указаны единицы измерения.

Короткое руководство по сохранению

plt.savefig('figure.png', dpi=300, bbox_inches='tight')

1‑линейный глоссарий

  • matplotlib — библиотека для рисования 2D-графиков в Python.
  • pandas — библиотека для обработки табличных данных.
  • plt.figure(figsize=…) — задаёт размер фигуры в дюймах.

Часто задаваемые вопросы

Как отобразить графики inline в Jupyter?

Вставьте в ячейку %matplotlib inline или используйте интерфейс JupyterLab — современные версии обычно показывают графики по умолчанию.

Что делать, если график пустой?

Проверьте данные на NaN и длину массивов x и y, вызовите plt.show(), убедитесь, что не закрыт kernel.

Можно ли использовать другие цветовые схемы?

Да, используйте встроенные палитры matplotlib, seaborn или задавайте hex-коды.


Краткое резюме:

  • Jupyter + matplotlib + pandas — быстрый старт для визуализации.
  • Выбирайте тип графика по цели: тренды, распределения, сравнения, доли.
  • При потребности в интерактивности или масштабируемости — переходите на plotly, bokeh или Datashader.

Если нужно, могу добавить готовый шаблон ноутбука с примерами и ноутбуком в формате .ipynb.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Убрать звук в видео для Instagram
Instagram

Убрать звук в видео для Instagram

Установка Windows 11 Beta — пошагово
Windows

Установка Windows 11 Beta — пошагово

Как включить NSFW на Reddit
Руководство

Как включить NSFW на Reddit

Удаление Feedback Hub в Windows 11
Windows

Удаление Feedback Hub в Windows 11

Отключить импорт фото Dropbox в Windows
Windows

Отключить импорт фото Dropbox в Windows

Изменить текст кнопки Пуск в Windows XP
Windows XP

Изменить текст кнопки Пуск в Windows XP