11 puntos por GN⁺ 2025-04-09 | 2 comentarios | Compartir por WhatsApp
  • ECharts es una biblioteca de visualización JavaScript de código abierto, optimizada tanto para PC como para móviles
  • Es compatible con la mayoría de los navegadores modernos, incluidos Internet Explorer 9/10/11, Chrome, Firefox y Safari
  • Usa su propio motor de renderizado gráfico, ZRender, para ofrecer gráficos intuitivos, interactivos y de alta calidad

Ofrece diversos tipos de gráficos

  • Incluye gráficos de líneas, barras, dispersión, pastel, velas, boxplot, mapas, mapas de calor, gráficos de líneas para información direccional, grafos relacionales, treemap, sunburst, coordenadas paralelas, gráficos de embudo, medidores y más
  • Permite crear gráficos compuestos combinando distintos tipos de visualización
  • Admite series de gráficos personalizadas, por lo que basta con pasar la función callback renderItem para implementar libremente los elementos gráficos deseados
  • Las funciones de interacción vienen integradas y pueden usarse de inmediato sin configuración adicional

Función de descarga liviana y selección de componentes

  • El paquete base está altamente optimizado, pero según sea necesario se puede generar un paquete liviano seleccionando solo los tipos de gráficos y componentes requeridos
  • A través del constructor en línea se puede descargar un bundle personalizado que incluya solo las funciones necesarias

Compatibilidad con diversos formatos de datos

  • Desde la v4.0, la propiedad dataset permite trabajar con distintas estructuras de datos, como arreglos bidimensionales y objetos key-value
  • Con la propiedad encode se puede mapear la estructura de datos de forma intuitiva
  • Ahorra tiempo al escribir algoritmos de transformación de datos y minimiza el uso de memoria
  • Un mismo dataset puede compartirse entre varios componentes
  • La compatibilidad con TypedArray permite ahorrar memoria y mejorar el rendimiento

Optimización para visualización de grandes volúmenes de datos

  • Ofrece tecnología de renderizado incremental para visualizar millones de puntos de datos
  • Las funciones de interacción, como zoom y desplazamiento, también funcionan con fluidez en grandes volúmenes de datos
  • Admite renderizado de datos en streaming mediante WebSocket
  • Permite visualizar sin cargar todos los datos completos

Optimización para móviles

  • Está optimizado para funciones de zoom y desplazamiento en entornos móviles
  • En PC permite la misma operación mediante la rueda del mouse
  • Ofrece un paquete pequeño para móviles
  • Al elegir el motor de renderizado SVG, se reduce aún más el uso de memoria

Diversos métodos de renderizado y compatibilidad multiplataforma

  • Admite varios métodos de renderizado, como Canvas, SVG (v4.0 o superior) y VML
  • VML es compatible con navegadores IE antiguos, SVG es eficiente en memoria en móviles y Canvas es fuerte para manejar grandes volúmenes
  • En entornos Node.js, permite server-side rendering (SSR) mediante node-canvas
  • También puede usarse en WeChat MiniProgram
  • La comunidad también ha desarrollado extensiones para lenguajes como Python (pyecharts), R (echarty) y Julia (ECharts.jl)
  • Gracias al soporte para múltiples plataformas y lenguajes, los desarrolladores pueden concentrarse solo en la visualización

Funciones de exploración de datos basadas en interacción

  • Permite explorar desde el conjunto completo hasta los detalles mediante zoom, paneo y filtrado
  • Ofrece varios componentes interactivos como legend, visualMap, dataZoom, tooltip y brush
  • Hace posible explorar datos de distintas maneras desde la interfaz de usuario

Refuerzo de la visualización de datos multidimensionales

  • Desde ECharts 3 se ha reforzado el soporte para visualización de datos multidimensionales
  • Además de las visualizaciones multidimensionales tradicionales, como el sistema de coordenadas paralelas, permite representar datos de múltiples formas
  • Con el componente visualMap, es posible mapear datos de dimensión a propiedades visuales como color, tamaño, transparencia y sombreado

Reflejo de datos en tiempo real

  • Cuando cambia el dataset, se refleja en el gráfico en tiempo real
  • Detecta automáticamente los cambios en los datos y los representa en el gráfico mediante animaciones
  • Con el componente timeline, también es posible representar datos según el paso del tiempo

Ofrece efectos visuales especiales

  • Se pueden aplicar efectos visuales a todo tipo de datos, incluidos puntos, líneas y datos geográficos
  • Ayuda a atraer la atención del usuario y mejora la capacidad de comunicar los datos

Visualización 3D basada en WebGL

  • ECharts GL, basado en WebGL, admite varias visualizaciones 3D, como globos terráqueos, edificios e histogramas de población
  • Permite añadir efectos visuales con configuraciones simples
  • También puede usarse en VR y pantallas de gran formato

Soporte de accesibilidad

  • Cumple con el estándar de accesibilidad WAI-ARIA del W3C
  • Genera automáticamente descripciones para personas con discapacidad visual a partir de la configuración del gráfico
  • Permite acceder al contenido de visualización mediante lectores de pantalla

2 comentarios

 
jhk0530 2025-04-09

ECharts es bonito y está bastante bien. Personalmente, me resultó más fácil de usar que Highcharts.

 
GN⁺ 2025-04-09
Comentarios de Hacker News
  • Mientras desarrollaba Briefer probé casi todas las bibliotecas de visualización, y Apache ECharts es la mejor

    • Los principales problemas de otras bibliotecas son: (a) el diseño no es muy bueno, (b) son difíciles de usar, (c) les falta flexibilidad
    • Apache ECharts resuelve esos problemas
    • Se ve bien desde el inicio, permite calcular una especificación declarativa en el backend y enviarla al frontend, y es lo suficientemente flexible como para soportar todo lo que pueden hacer las herramientas BI tradicionales
    • Ya incluye todo lo que necesito sin tener que agregar nuevas funcionalidades
    • Da gusto ver este excelente trabajo en HN
  • También recomiendo go-echarts

    • Permite declarar gráficos con tipos de Golang, y el serializador JSON de Golang los enlaza automáticamente a JSON
    • Lo he usado en varios proyectos, y cuando hay issues o PRs, el mantenedor responde rápido
    • Es divertido incrustar funciones de JavaScript y consultas SQL en Go
    • Hay un ejemplo en Golang que toma datos desde DuckDB y genera un archivo de gráfico de velas con tooltips en JavaScript
  • Después de probar muchas otras bibliotecas, el año pasado me decidí por Apache ECharts y no me arrepiento

    • Excelente documentación, rendimiento, alta capacidad de configuración, facilidad de uso y soporte para todos los tipos de gráficos que necesito
  • Creo que ECharts es la mejor biblioteca

    • No aparece mucho en listas o búsquedas de bibliotecas de gráficos
    • Probé chart.js, google charts, amCharts, Highcharts y ApexCharts
    • La usamos en nuestra herramienta/biblioteca
  • Uso Apache ECharts en mi producto desde 2020

    • Lo recomiendo mucho: excelente biblioteca, excelente documentación, sin problemas en 5 años
    • Me gustaría ver mejoras en los tickets de accesibilidad con teclado
  • La carrera de líneas está muy buena

    • Puedes iniciar la carrera activando un interruptor
    • Bien hecho, Noruega
  • Si estás buscando una biblioteca de gráficos para clientes web, también recomiendo charts.css

    • El concepto es mucho más simple que el de la mayoría de las bibliotecas de gráficos y puede lograr la misma funcionalidad
    • Es muy fácil de usar junto con renderizado del lado del servidor, htmx, etc.
  • Cuando veo el anuncio de un paquete de gráficos JS llamado ECharts, pienso que dejará de mantenerse en menos de un año

    • Cuando veo el anuncio de un paquete de gráficos JS llamado Apache ECharts, pienso que seguirá con mantenimiento el próximo año
  • Estaba buscando una biblioteca de gráficos para React/React Native, y Apache ECharts es un excelente candidato para visualización de datos multiplataforma

    • Tanto react-echarts como react-native-echarts siguen en desarrollo activo
    • Estar bajo Apache es una gran ventaja para las perspectivas futuras de desarrollo y mantenimiento del proyecto
  • Agregué ECharts como biblioteca de gráficos para AI y estoy migrando los gráficos GUI base a ECharts

    • Hice una revisión exhaustiva antes de elegir, y escogí ECharts porque es sobresaliente y se ve muy bien