Модуль Python pyecharts

pyecharts — это библиотека визуализации данных Python на основе ECharts. Она позволяет пользователям использовать язык Python для создания различных типов интерактивных диаграмм и визуализаций данных.

ECharts — это библиотека визуализации с открытым исходным кодом, реализованная на JavaScript, а Pyecharts — это обёртка Python для ECharts, что делает использование ECharts в Python более удобным.

pyecharts предоставляет набор простых и гибких API, позволяя пользователям легко создавать различные диаграммы, включая, помимо прочего, линейные диаграммы, столбчатые диаграммы, диаграммы рассеяния, круговые диаграммы, карты и многое другое.

С помощью pyecharts пользователи могут использовать Python для обработки и подготовки данных, а затем с помощью лаконичного кода генерировать интерактивные диаграммы. Эти диаграммы можно встраивать в веб-приложения или сохранять в виде статических файлов.

Возможности и функции pyecharts:

  • Простота и удобство использования:Pyecharts предоставляет интуитивно понятный и удобный API, позволяя пользователям быстро начать работу и легко создавать различные диаграммы.

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

  • Поддерживает основные форматы данных:Может работать с распространенными форматами данных, такими как списки, словари, Pandas DataFrames и другими.

  • Интерактивность:Созданные диаграммы могут быть интерактивными. Пользователи могут взаимодействовать с диаграммами, наводя курсор мыши, масштабируя и т. д.

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

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

Установка pyecharts

Установка через pip:

pip install pyecharts

Установка из исходного кода:

$ git clone https://github.com/pyecharts/pyecharts.git
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install
# 或者执行 python install.py

После успешной установки вы можете проверить версию pyecharts:

import pyecharts

print(pyecharts.__version__)

Вывод следующий:

2.0.4

Типы диаграмм pyecharts

pyecharts поддерживает следующие типы диаграмм:

Тип диаграммыКласс pyechartsИмпорт пакета
Линейный графикLinefrom pyecharts.charts import Line
Столбчатая диаграммаBarfrom pyecharts.charts import Bar
Точечная диаграммаScatterfrom pyecharts.charts import Scatter
Круговая диаграммаPiefrom pyecharts.charts import Pie
Лепестковая диаграммаRadarfrom pyecharts.charts import Radar
Тепловая картаHeatMapfrom pyecharts.charts import HeatMap
Диаграмма K-линийKlinefrom pyecharts.charts import Kline
Ящичная диаграммаBoxplotfrom pyecharts.charts import Boxplot
MapMapfrom pyecharts.charts import Map
Облако словWordCloudfrom pyecharts.charts import WordCloud
СпидометрGaugefrom pyecharts.charts import Gauge
Воронкообразная диаграммаFunnelfrom pyecharts.charts import Funnel
Древовидная диаграммаTreefrom pyecharts.charts import Tree
Диаграмма параллельных координатParallelfrom pyecharts.charts import Parallel
Диаграмма СанкейSankeyfrom pyecharts.charts import Sankey
Диаграмма географической системы координатGeofrom pyecharts.charts import Geo
Диаграмма временной шкалыTimelinefrom pyecharts.charts import Timeline
3D-диаграмма рассеянияScatter3Dfrom pyecharts.charts import Scatter3D
3D-столбчатая диаграммаBar3Dfrom pyecharts.charts import Bar3D
3D-диаграмма поверхностиSurface3Dfrom pyecharts.charts import Surface3D

Создание первой диаграммы

Далее мы используем Pyecharts, чтобы создать простую столбчатую диаграмму, показывающую продажи за пять месяцев:

Пример

from pyecharts.charts import Bar

# Подготовьте данные
x_data = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
y_data = [10, 20, 15, 25, 30]

# Создание столбчатой диаграммы
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Sales", y_data)

# Также можно передать параметр пути, например bar_chart.render("bar_chart.html")
bar_chart.render()

Если вbar_chart.render()не указан путь к файлу, Pyecharts по умолчанию создаст файл с именем "render.html" в текущем рабочем каталоге, т.е. созданная диаграмма будет сохранена в файле "render.html".

Результат выполнения приведённого выше кода:

Если вы хотите, чтобы имя файла диаграммы соответствовало определённому соглашению об именовании, или хотите указать путь сохранения, вы можете передать параметр пути к файлу в метод render(). Например:

bar_chart.render("my_bar_chart.html")

Таким образом, созданная диаграмма будет сохранена в файле "my_bar_chart.html" в текущем рабочем каталоге.

Настройте параметры конфигурации диаграммы

В примере заголовок диаграммы — "Столбчатая диаграмма месячных продаж", по оси X отложены месяцы, а по оси Y — продажи. Вы можете настроить данные и конфигурацию диаграммы в соответствии с фактическими потребностями:

Пример

from pyecharts import options as opts
from pyecharts.charts import Bar

# Подготовьте данные
x_data = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
y_data = [10, 20, 15, 25, 30]

# Создание столбчатой диаграммы
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Sales", y_data)

# Настройте диаграмму
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Ежемесячная столбчатая диаграмма продаж"),
    xaxis_opts=opts.AxisOpts(name="Месяц"),
    yaxis_opts=opts.AxisOpts(name="Продажи (10,000 yuan)"),
)

# Отрисовать график
bar_chart.render("bar_chart.html")

Пояснение:

  • Bar(): Создать объект столбчатой диаграммы.
  • add_xaxisиadd_yaxis: Используется для добавления данных на ось X и ось Y соответственно.
  • set_global_opts: Настройка глобальных параметров, включая заголовок, названия осей и т. д.

Созданная диаграмма будет сохранена в файл "bar_chart.html". Вы можете открыть этот файл в браузере, чтобы просмотреть созданную столбчатую диаграмму.

Использование тем

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

pyecharts предоставляет 10+ встроенных тем, а разработчики также могут настраивать свои любимые темы.

Ниже приведён простой пример, демонстрирующий, как переключать темы в pyecharts:

Пример

from pyecharts import options as opts
from pyecharts.charts import Bar
# Встроенные типы тем можно найти в pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType

# Подготовьте данные
x_data = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
y_data = [10, 20, 15, 25, 30]

# Создание столбчатой диаграммы
bar_chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))  # Начальная тема — светлая
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Sales", y_data)

# Настройте диаграмму
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Ежемесячная столбчатая диаграмма продаж"),
    xaxis_opts=opts.AxisOpts(name="Месяц"),
    yaxis_opts=opts.AxisOpts(name="Продажи (10,000 yuan)"),
)

# Переключиться на тёмную тему
bar_chart.set_global_opts(theme=ThemeType.DARK)

# Отрисовать график
bar_chart.render("themed_bar_chart.html")

Приведённый выше пример демонстрирует, как использовать в pyechartsThemeTypeдля переключения тем. Типы тем, поддерживаемые pyecharts, включаютLIGHT(светлая тема),DARK(тёмная тема), и т. д. Вы можете выбрать подходящую тему в соответствии с вашими потребностями.

  • init_opts=opts.InitOpts(theme=ThemeType.LIGHT): При создании объекта диаграммы передайтеinit_optsпараметр для указания начальной темы диаграммы. Здесь задана светлая тема.

Сгенерированная диаграмма выглядит так:

Ниже приведён список тем, поддерживаемых pyecharts:

Светлые темы (светлые цветовые схемы):

  • "LIGHT": Светлая тема по умолчанию
  • "WESTEROS": Классическая тёплая цветовая тема
  • "CHALK": Тема в стиле Chalk
  • "ESSOS": Нежная зелёная тема
  • "INFOGRAPHIC": Тема Infographic
  • "MACARONS": Восхитительная конфетная цветовая тема

Тёмные темы (тёмные цветовые схемы):

  • "DARK": Тёмная тема по умолчанию
  • "PURPLE-PASSION": Тёмно-фиолетовая тема
  • "SHINE": Простая чёрная тема
  • "VINTAGE": Тема в ретро-стиле
  • "ROMA": Тема в стиле Древнего Рима
  • "WALDEN": Тёмная лесная тема

Пользователи могут создавать собственные темы, задавая собственные цвета и стили.


Установить глобальные параметры конфигурации

set_global_opts — это метод в pyecharts, используемый для установки глобальных параметров конфигурации. Этот метод позволяет настроить некоторые глобальные свойства всего графика, такие как заголовок, оси, легенда и т. д.

Ниже приведены некоторые часто используемые глобальные параметры конфигурации:

bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="月度销售额柱状图", subtitle="副标题"),
    xaxis_opts=opts.AxisOpts(name="月份"),
    yaxis_opts=opts.AxisOpts(name="销售额(万元)"),
    legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),
    toolbox_opts=opts.ToolboxOpts(),
    tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)

Пояснение:

  • title_opts: Элемент конфигурации заголовка, позволяет задать основной заголовок и подзаголовок, а также связанные настройки стиля.
  • xaxis_optsиyaxis_opts: Элементы конфигурации для оси x и оси y, позволяют задать имена осей, стили линий осей и т. д.
  • legend_opts: Элемент конфигурации легенды, позволяет задать положение, стиль и т. д. легенды.
  • toolbox_opts: Элемент конфигурации Toolbox, используется для добавления некоторых интерактивных инструментов, таких как сохранение в виде изображения, просмотр данных и т. д.
  • tooltip_optsПараметры конфигурации Tooltip, можно настроить способ срабатывания, стиль и т. д. всплывающей подсказки.

Пример

from pyecharts import options as opts
from pyecharts.charts import Bar

# Подготовка данных
x_data = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май']
y_data = [10, 20, 15, 25, 30]

# Создать столбчатую диаграмму
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Сумма продаж", y_data)

# Настройка глобальных атрибутов
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Столбчатая диаграмма месячных продаж", subtitle="Подзаголовок"),
    xaxis_opts=opts.AxisOpts(name="Месяц"),
    yaxis_opts=opts.AxisOpts(name="Продажи (10,000 yuan)"),
    legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),
    toolbox_opts=opts.ToolboxOpts(),
    tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)

# Отрисовать диаграмму
bar_chart.render("global_options_bar_chart.html")

Сгенерированная диаграмма выглядит так:

Дополнительные сведения о модуле pyecharts см. по ссылке:https://pyecharts.org/#/zh-cn/intro

Другие расширения