Módulo pyecharts de Python

pyecharts es una biblioteca de visualización de datos de Python basada en ECharts, que permite a los usuarios generar varios tipos de gráficos interactivos y visualizaciones de datos usando el lenguaje Python.

ECharts es una biblioteca de visualización de código abierto implementada con JavaScript, mientras que Pyecharts es un envoltorio de ECharts para Python, lo que facilita el uso de ECharts en Python.

pyecharts proporciona un conjunto de API simples y flexibles que permiten a los usuarios crear fácilmente varios gráficos, incluyendo, entre otros, gráficos de líneas, gráficos de barras, diagramas de dispersión, gráficos circulares, mapas, etc.

Con pyecharts, los usuarios pueden procesar y preparar datos con el lenguaje Python y luego generar gráficos interactivos con código conciso, que pueden integrarse en aplicaciones web o guardarse como archivos estáticos.

Características y funcionalidades de pyecharts:

  • Simple y fácil de usar:Pyecharts ofrece una API intuitiva y amigable, lo que permite a los usuarios ponerse al día rápidamente y generar varios gráficos con facilidad.

  • Amplia variedad de tipos de gráficos:Admite varios tipos de gráficos comunes, incluyendo gráficos de líneas, gráficos de barras, diagramas de dispersión, gráficos circulares, mapas, etc., para satisfacer las necesidades de diferentes escenarios.

  • Soporte para formatos de datos principales:Puede manejar formatos de datos comunes, como listas, diccionarios, Pandas DataFrame, etc.

  • Interactividad:Los gráficos generados pueden ser interactivos; los usuarios pueden interactuar con ellos mediante el desplazamiento del mouse, el zoom, etc.

  • Opciones de configuración ricas:Proporciona una amplia variedad de opciones de configuración que permiten a los usuarios personalizar atributos como el estilo y la disposición de los gráficos.

  • Soporte de temas:Ofrece varios temas; los usuarios pueden elegir el tema adecuado según sus necesidades para que el gráfico se ajuste mejor al estilo general de la aplicación.

Instalación de pyecharts

Instalación con pip:

pip install pyecharts

Instalación desde el código fuente:

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

Después de una instalación exitosa, puedes verificar la versión de pyecharts:

import pyecharts

print(pyecharts.__version__)

La salida es la siguiente:

2.0.4

Tipos de gráficos de pyecharts

pyecharts admite los siguientes tipos de gráficos:

Tipo de gráficoClase de pyechartsImportación del paquete
Gráfico de líneasLinefrom pyecharts.charts import Line
Gráfico de barrasBarfrom pyecharts.charts import Bar
Diagrama de dispersiónScatterfrom pyecharts.charts import Scatter
Gráfico circularPiefrom pyecharts.charts import Pie
Gráfico de radarRadarfrom pyecharts.charts import Radar
Mapa de calorHeatMapfrom pyecharts.charts import HeatMap
Gráfico de velas (K-line)Klinefrom pyecharts.charts import Kline
Diagrama de cajaBoxplotfrom pyecharts.charts import Boxplot
MapaMapfrom pyecharts.charts import Map
Nube de palabrasWordCloudfrom pyecharts.charts import WordCloud
Gráfico de indicadorGaugefrom pyecharts.charts import Gauge
Gráfico de embudoFunnelfrom pyecharts.charts import Funnel
Gráfico de árbolTreefrom pyecharts.charts import Tree
Gráfico de coordenadas paralelasParallelfrom pyecharts.charts import Parallel
Diagrama de SankeySankeyfrom pyecharts.charts import Sankey
Gráfico de coordenadas geográficasGeofrom pyecharts.charts import Geo
Gráfico de línea de tiempoTimelinefrom pyecharts.charts import Timeline
Gráfico de dispersión 3DScatter3Dfrom pyecharts.charts import Scatter3D
Gráfico de barras 3DBar3Dfrom pyecharts.charts import Bar3D
Gráfico de superficie 3DSurface3Dfrom pyecharts.charts import Surface3D

Crear el primer gráfico

A continuación, usamos Pyecharts para crear un gráfico de barras simple que muestra las ventas de cinco meses:

Ejemplo

from pyecharts.charts import Bar

# Preparar los datos
x_data = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo']
y_data = [10, 20, 15, 25, 30]

# Crear el gráfico de barras
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Ventas", y_data)

# También se puede pasar un parámetro de ruta, por ejemplo: bar_chart.render("bar_chart.html")
bar_chart.render()

Sibar_chart.render()no se especifica una ruta de archivo, Pyecharts generará por defecto un archivo llamado "render.html" en el directorio de trabajo actual, es decir, el gráfico generado se guardará en el archivo "render.html".

El resultado de ejecutar el código anterior es:

Si deseas que el nombre del archivo del gráfico tenga cierto formato, o quieres especificar la ruta de guardado, puedes proporcionar el parámetro de ruta del archivo en el método render(). Por ejemplo:

bar_chart.render("my_bar_chart.html")

De esta manera, el gráfico generado se guardará en el archivo "my_bar_chart.html" en el directorio de trabajo actual.

Configurar opciones del gráfico

En el ejemplo, el título del gráfico es "Gráfico de barras de ventas mensuales", el eje horizontal es el mes y el eje vertical son las ventas. Puedes ajustar los datos y la configuración del gráfico según tus necesidades reales:

Ejemplo

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

# Preparar los datos
x_data = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo']
y_data = [10, 20, 15, 25, 30]

# Crear el gráfico de barras
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Ventas", y_data)

# Configurar el gráfico
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Gráfico de barras de ventas mensuales"),
    xaxis_opts=opts.AxisOpts(name="Mes"),
    yaxis_opts=opts.AxisOpts(name="Ventas (diez mil yuanes)"),
)

# Renderizar el gráfico
bar_chart.render("bar_chart.html")

Explicación:

  • Bar(): Crea un objeto de gráfico de barras.
  • add_xaxisyadd_yaxis: Se utilizan respectivamente para agregar los datos del eje horizontal y del eje vertical.
  • set_global_opts: Configura las opciones globales, incluyendo el título, los nombres de los ejes, etc.

El gráfico generado se guardará como el archivo "bar_chart.html". Puedes abrir este archivo en el navegador para ver el gráfico de barras generado.

Usar temas

pyecharts admite el cambio de temas; los usuarios pueden elegir el tema adecuado según sus necesidades para cambiar el estilo del gráfico.

pyecharts ofrece más de 10 temas integrados, y los desarrolladores también pueden personalizar sus propios temas.

A continuación se muestra un ejemplo sencillo que demuestra cómo cambiar de tema con pyecharts:

Ejemplo

from pyecharts import options as opts
from pyecharts.charts import Bar
# Los tipos de temas integrados se pueden consultar en pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType

# Preparar los datos
x_data = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo']
y_data = [10, 20, 15, 25, 30]

# Crear el gráfico de barras
bar_chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))  # El tema inicial es de color claro
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Ventas", y_data)

# Configurar el gráfico
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Gráfico de barras de ventas mensuales"),
    xaxis_opts=opts.AxisOpts(name="Mes"),
    yaxis_opts=opts.AxisOpts(name="Ventas (diez mil yuanes)"),
)

# Cambiar al tema oscuro
bar_chart.set_global_opts(theme=ThemeType.DARK)

# Renderizar el gráfico
bar_chart.render("themed_bar_chart.html")

El ejemplo anterior demuestra cómo en pyecharts se utilizaThemeTypepara cambiar de tema. Los tipos de temas compatibles con pyecharts incluyenLIGHT(tema claro),DARK(tema oscuro), etc. Puedes elegir el tema adecuado según tus necesidades.

  • init_opts=opts.InitOpts(theme=ThemeType.LIGHT): Al crear el objeto del gráfico, medianteinit_optsel parámetro se especifica el tema inicial del gráfico; aquí se establece como tema claro.

El gráfico generado es el siguiente:

La siguiente es la lista de temas compatibles con pyecharts:

Light Themes (temas claros):

  • "LIGHT": Tema claro por defecto
  • "WESTEROS": Tema clásico de tonos cálidos
  • "CHALK": Tema estilo tiza
  • "ESSOS": Tema de tonos verdes suaves
  • "INFOGRAPHIC": Tema de infografía
  • "MACARONS": Tema de colores caramelo

Dark Themes (temas oscuros):

  • "DARK": Tema oscuro por defecto
  • "PURPLE-PASSION": Tema de tonos púrpura oscuro
  • "SHINE": Tema negro minimalista
  • "VINTAGE": Tema de estilo retro
  • "ROMA": Tema de estilo romano antiguo
  • "WALDEN": Tema de bosque oscuro

Los usuarios pueden crear temas personalizados configurando colores y estilos personalizados.


Configuración de opciones globales

set_global_opts es un método en pyecharts que se utiliza para establecer opciones globales. Este método te permite configurar ciertos atributos globales de todo el gráfico, como el título, los ejes, la leyenda, etc.

A continuación se muestran algunas opciones globales de uso común:

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"),
)

Explicación:

  • title_opts: Elemento de configuración del título; permite establecer el título principal y el subtítulo, así como la configuración de estilo relacionada.
  • xaxis_optsyyaxis_opts: Elementos de configuración de los ejes x e y; permiten establecer el nombre de los ejes, el estilo de la línea del eje, etc.
  • legend_opts: Elemento de configuración de la leyenda; permite establecer la posición, el estilo, etc., de la leyenda.
  • toolbox_opts: Elemento de configuración de la caja de herramientas; se utiliza para agregar algunas herramientas interactivas, como guardar como imagen, vista de datos, etc.
  • tooltip_optsElemento de configuración del cuadro de aviso, se puede establecer el modo de activación, estilo, etc.

Ejemplo

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

# Preparar datos
x_data = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo']
y_data = [10, 20, 15, 25, 30]

# Crear gráfico de barras
bar_chart = Bar()
bar_chart.add_xaxis(x_data)
bar_chart.add_yaxis("Ventas", y_data)

# Configurar atributos globales
bar_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="Gráfico de barras de ventas mensuales", subtitle="Subtítulo"),
    xaxis_opts=opts.AxisOpts(name="Mes"),
    yaxis_opts=opts.AxisOpts(name="Ventas (diez mil yuanes)"),
    legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),
    toolbox_opts=opts.ToolboxOpts(),
    tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)

# Renderizar gráfico
bar_chart.render("global_options_bar_chart.html")

El gráfico generado es el siguiente:

Para más contenido del módulo pyecharts, consulte:https://pyecharts.org/#/zh-cn/intro

Otras extensiones