Una CLI que genera gráficos de terminal (ASCII, sparklines, barras, columnas, mapas de calor, braille y SVG) a partir de texto con datos numéricos.
vicanso/charts-rs
Biblioteca de gráficos para Rust que renderiza 29 tipos de gráfico en SVG o PNG/JPEG/WebP/AVIF, sin necesidad de un navegador.
Alternativa open source a:Apache ECharts
- Estrellas
- 400
- Forks
- 25
- Issues abiertos
- 1
- Último commit
- hace 4 días
¿Qué es?
charts-rs es una biblioteca de gráficos para Rust que genera gráficos en SVG y también permite exportarlos como imágenes PNG, JPEG, WebP o AVIF. Los gráficos se crean mediante una API tipada de Rust o a partir de un documento JSON con las mismas opciones, basado en Apache ECharts. Está pensada para el renderizado en el servidor de informes, correos electrónicos, bots y dashboards, ya que no requiere un navegador headless ni Node.js.
La biblioteca admite 29 tipos de gráfico, incluidos gráficos de barras, líneas, sectores, radar, velas, mapas de calor, sankey, Gantt, treemap y mapas, y permite colocar varios en un mismo lienzo con MultiChart. Las series se pueden apilar, combinar usando dos ejes y, o dibujar con líneas suavizadas, áreas y barras de error. Los ejes admiten escalas de categoría, valor, tiempo y logarítmicas.
Las opciones de estilo de salida incluyen diez temas integrados, fuentes personalizadas (TTF, OTF, TTC) con compatibilidad con CJK, leyendas, tooltips y animación SVG. La exportación de imágenes se habilita mediante flags de features de Cargo, como png, jpeg, webp y avif.
Funciones clave
- 01Renderiza 29 tipos de gráfico, desde barras y líneas hasta velas, sankey y mapas.
- 02Crea gráficos mediante una API tipada de Rust o a partir de un documento JSON.
- 03Exporta a SVG y a imágenes PNG, JPEG, WebP o AVIF mediante flags de features.
- 04Ofrece diez temas integrados y admite fuentes personalizadas, incluidas las CJK.
- 05Combina varios gráficos en un mismo lienzo con MultiChart.
Casos de uso
- Generar imágenes de gráficos para informes programados o exportaciones a PDF en un servidor.
- Adjuntar gráficos a correos electrónicos o mensajes de bots de chat sin usar un navegador.
- Renderizar gráficos de dashboards en la respuesta de una API backend de Rust.
- Generar gráficos a partir de una configuración JSON almacenada junto con los datos de la aplicación.
Inicio rápido
- 1
Añade el crate a Cargo.toml
[dependencies] charts-rs = "2" - 2
Crea un gráfico en Rust y renderízalo en SVG
let svg = chart.svg().unwrap(); - 3
Para generar PNG, habilita la feature png
charts-rs = { version = "2", features = ["png"] }
Antes de usarlo
- Requiere Rust 1.88 o posterior (edition 2024).
Temas
Preguntas frecuentes
- ¿Qué es charts-rs?
- Biblioteca de gráficos para Rust que renderiza 29 tipos de gráfico en SVG o PNG/JPEG/WebP/AVIF, sin necesidad de un navegador. charts-rs es una biblioteca de gráficos para Rust que genera gráficos en SVG y también permite exportarlos como imágenes PNG, JPEG, WebP o AVIF. Los gráficos se crean mediante una API tipada de Rust o a partir de un documento JSON con las mismas opciones, basado en Apache ECharts. Está pensada para el renderizado en el servidor de informes, correos electrónicos, bots y dashboards, ya que no requiere un navegador headless ni Node.js.
- ¿charts-rs es gratuito? ¿Qué licencia tiene?
- charts-rs es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿charts-rs sigue mantenido?
- Mantenimiento activo. El último commit de charts-rs fue el 17 oct 2026.
- ¿Para qué puedo usar charts-rs?
- Generar imágenes de gráficos para informes programados o exportaciones a PDF en un servidor. Adjuntar gráficos a correos electrónicos o mensajes de bots de chat sin usar un navegador. Renderizar gráficos de dashboards en la respuesta de una API backend de Rust. Generar gráficos a partir de una configuración JSON almacenada junto con los datos de la aplicación.
- ¿Cómo se instala charts-rs?
- Añade el crate a Cargo.toml: [dependencies] charts-rs = "2" Crea un gráfico en Rust y renderízalo en SVG: let svg = chart.svg().unwrap(); Para generar PNG, habilita la feature png: charts-rs = { version = "2", features = ["png"] }
- ¿Dónde consigo charts-rs?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/vicanso/charts-rs
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta open source en Rust que convierte imágenes rasterizadas, como JPG y PNG, en gráficos vectoriales SVG compactos; disponible como CLI, app de escritorio o biblioteca.
Motor declarativo que genera y renderiza infografías SVG a partir de una sintaxis de texto, diseñado para la generación con IA y la salida en streaming.
Un lenguaje intermedio de visualización que permite a los agentes de IA convertir especificaciones compactas en gráficos pulidos para Vega-Lite, ECharts, Chart.js, Plotly o Excel.
Aplicación web de código abierto que conecta bases de datos y API para crear dashboards y gráficos en tiempo real, compartibles e integrables.
Un renderizador pequeño y síncrono que convierte texto de diagramas Mermaid en SVG sin dependencias en tiempo de ejecución.