JavaRush /Курсы /Python SELF /Экспорт графиков для отчетов и интеграция в документацию

Экспорт графиков для отчетов и интеграция в документацию

Python SELF
42 уровень , 4 лекция
Открыта

1. Экспорт интерактивных графиков из Plotly

Поздравляю всех любителей визуализации и художников графиков с тем, что вы добрались до нашей последней лекции по визуализации данных. Сегодня мы завершим наше путешествие по созданию красивых и информативных графиков и научимся их правильно экспортировать и интегрировать в документы. Если раньше вы сомневались, как впечатлить своего начальника не только выверенной аналитикой, но и тем, что ваши графики можно вставить не только в PowerPoint, но и в HTML-страницу, то это ваш счастливый день!

Основные форматы экспорта в Plotly

Plotly поддерживает несколько форматов экспорта:

  • HTML — для создания интерактивных графиков, которые можно открыть в браузере.
  • PNG, JPG, PDF, SVG — для создания статических изображений высокого качества.
  • JSON — для хранения графиков в виде JSON-структур, что полезно для передачи данных между системами.

Способы экспорта

Начнем с нашей звезды — Plotly. Эта библиотека славится своей интерактивностью и возможностью создания динамичных графиков. Но как их подарить миру, не передавая всем ноутбук под мышку с установленным Python?

Plotly позволяет экспортировать графики в HTML. Это значит, что вы можете просто отправить HTML-файл, и ваши коллеги или клиенты смогут взаимодействовать с графиком прямо в своем браузере. Экспорт осуществляется с помощью метода plotly.io.write_html. Например:

Python

import plotly.express as px
import plotly.io as pio

# Создаем простой интерактивный график
df = px.data.iris()  # Датасет irises
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")

# Экспорт графика в HTML
pio.write_html(fig, file='grafik.html', auto_open=True)

Параметр auto_open=True открывает файл в браузере сразу после сохранения - очень удобно, если вам не терпится показать свою работу коллегам или если вы хотите убедиться, что все сохранилось корректно.

Экспорт в другие форматы

Для Plotly также доступен экспорт в формате изображений, таких как PNG, JPEG и SVG. Для этого используется метод plotly.io.write_image. Здесь нам понадобится дополнительная библиотека kaleido, которая обеспечивает рендеринг в формате изображений:

Bash
pip install -U kaleido

Теперь экспортируем график:

Python

# Экспорт графика в PNG
pio.write_image(fig, file='grafik.png')

# Экспорт графика в JPG
pio.write_image(fig, file='grafik.jpg', width=800, height=400, scale=2)

2. Включение графиков в отчеты

Экспортированные графики могут стать неотъемлемой частью ваших аналитических отчетов. Например, экспортированный HTML-график можно легко вставить в отчет, который вы планируете представить на вебинаре или загрузить на корпоративный портал.

Вставка графиков в документы Word и PDF

Для интеграции графиков в документы Microsoft Word или PDF достаточно сохранить график в формате PNG или JPG и затем вставить его как изображение. Файл можно просто перетащить в документ или использовать встроенные функции Word и PDF-редакторов для вставки изображений.

Python

fig.write_image("sales_chart.pdf")

PDF удобен для печати и распространения графиков с высоким качеством. При экспорте графиков Plotly в PDF через kaleido необходимо просто указать формат файла.

Включение интерактивных графиков в веб-документы

Интерактивные графики Plotly в формате HTML можно встроить в веб-страницы. Это особенно полезно для онлайн-отчетов и веб-документации. Чтобы вставить график, можно либо использовать ссылку на HTML-файл, либо встраивать HTML-код непосредственно на веб-страницу.

Для включения интерактивных графиков можно использовать iframe на HTML-странице:

HTML

<iframe src="grafik.html" width="800" height="600"></iframe>

Таким образом, график будет встроен в вашу страницу и доступен для взаимодействия.

Экспорт графика в JSON

Формат JSON подходит для хранения графиков в виде данных, которые можно передавать между системами или хранить для последующего редактирования. JSON-файл можно затем импортировать обратно в Plotly и отобразить.

Python

# Сохранение графика в JSON
fig.write_json("sales_chart.json")

Выбор форматов и параметров для разных типов отчетов

  • Для печати и публикаций: Используйте формат PNG или PDF с высоким разрешением (dpi=300), чтобы изображения оставались четкими и качественными.
  • Для веб-документов и презентаций: Форматы PNG и SVG отлично подходят для веб-документов. SVG удобен для масштабируемой графики и не теряет качества при увеличении.
  • Для интерактивных отчетов: Сохраняйте интерактивные графики Plotly в формате HTML и встраивайте их в веб-страницы или онлайн-документы.

3. Пример

Теперь, чтобы закрепить знания, давайте создадим интерактивный график, экспортируем его и интегрируем в простой HTML-документ.

Создание графика:

Python

import plotly.express as px
import plotly.io as pio

df = px.data.tips()
fig = px.bar(df, x='day', y='total_bill', color='sex', barmode='group')
pio.write_html(fig, file='tips_graph.html', auto_open=True)

Создание HTML-документа с графиком:

Сохраним следующий код как index.html:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Отчет по чаевым</title>
</head>
<body>
    <h1>Анализ чаевых по дням недели</h1>
    <p>Ниже представлен интерактивный график, отображающий суммарные чаевые в зависимости от дня недели и пола.</p>
    <iframe src="tips_graph.html" width="900" height="500" frameBorder="0"></iframe>
</body>
</html>

Просмотр документа:

Откройте index.html в браузере и насладитесь результатом! Вы только что создали отчет, который можно отправить вашим коллегам или опубликовать в интернете.

Интерактивные графики — это не только красиво, но и полезно для глубокого анализа данных и презентации результатов. С их помощью ваши отчеты станут на порядок более впечатляющими и многофункциональными.

В заключение нашего изучения Plotly и Matplotlib, хочется отметить, что правильная презентация информации — это почти искусство. Используйте полученные знания, чтобы ваши данные выглядели потрясающе и содержали максимум пользы. Удачи в создании ваших собственных шедевров визуализации!

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ