一个命令行工具,可把纯数字文本渲染成终端图表,支持 ASCII、火花线、柱状图、热力图等多种类型。
- Star
- 400
- Fork
- 25
- 未关闭 Issue
- 1
- 最近提交
- 4天前
这是什么?
charts-rs 是一个 Rust 图表库,可以将图表生成为 SVG,也能导出为 PNG、JPEG、WebP 或 AVIF 图片。图表既可以通过类型化的 Rust API 构建,也可以用与 Apache ECharts 相近的选项,从 JSON 文档生成。它适合在服务端渲染报表、邮件、机器人和仪表盘等场景,不需要无头浏览器或 Node.js。
库内支持 29 种图表,包括柱状图、折线图、饼图、雷达图、K 线图、热力图、桑基图、甘特图、树图和地图等,并可通过 MultiChart 将多种图表排布在同一画布上。系列支持堆叠、双 Y 轴混合,以及平滑线、面积和误差线等绘制方式。坐标轴支持类目、数值、时间和对数刻度。
样式方面提供十款内置主题以及自定义主题,支持自定义字体(TTF、OTF、TTC)并包含中日韩字体,还提供图例、提示框和 SVG 动画。图片导出通过 png、jpeg、webp、avif 等 Cargo feature 启用。
核心功能
- 01支持 29 种图表,从柱状图、折线图到 K 线图、桑基图和地图。
- 02既可用类型化的 Rust API 构建图表,也可直接从 JSON 文档生成。
- 03可导出 SVG,并通过 feature 开关输出 PNG、JPEG、WebP 或 AVIF 图片。
- 04提供十款内置主题,支持包括中文在内的自定义字体。
- 05通过 MultiChart 将多个图表组合在同一画布上。
适用场景
- 在服务端为定时报表或 PDF 导出生成图表图片。
- 无需浏览器,将图表嵌入邮件或聊天机器人消息。
- 在 Rust 后端接口的响应中渲染仪表盘图表。
- 基于存储在应用数据旁的 JSON 配置生成图表。
快速上手
- 1
在 Cargo.toml 中添加该 crate
[dependencies] charts-rs = "2" - 2
用 Rust 构建图表并渲染为 SVG
let svg = chart.svg().unwrap(); - 3
如需 PNG 输出,启用 png 特性
charts-rs = { version = "2", features = ["png"] }
使用前须知
- 需要 Rust 1.88 或更高版本(edition 2024)。
标签
常见问题
- charts-rs 是什么?
- 一个 Rust 图表库,无需浏览器即可将 29 种图表渲染为 SVG 或 PNG、JPEG、WebP、AVIF 图片。 charts-rs 是一个 Rust 图表库,可以将图表生成为 SVG,也能导出为 PNG、JPEG、WebP 或 AVIF 图片。图表既可以通过类型化的 Rust API 构建,也可以用与 Apache ECharts 相近的选项,从 JSON 文档生成。它适合在服务端渲染报表、邮件、机器人和仪表盘等场景,不需要无头浏览器或 Node.js。
- charts-rs 可以免费使用吗?用的什么许可证?
- charts-rs 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- charts-rs 还在维护吗?
- 活跃维护中。charts-rs 最近一次提交是在 2026年10月17日。
- charts-rs 适合用来做什么?
- 在服务端为定时报表或 PDF 导出生成图表图片。 无需浏览器,将图表嵌入邮件或聊天机器人消息。 在 Rust 后端接口的响应中渲染仪表盘图表。 基于存储在应用数据旁的 JSON 配置生成图表。
- charts-rs 怎么安装和运行?
- 在 Cargo.toml 中添加该 crate: [dependencies] charts-rs = "2" 用 Rust 构建图表并渲染为 SVG: let svg = chart.svg().unwrap(); 如需 PNG 输出,启用 png 特性: charts-rs = { version = "2", features = ["png"] }
- 在哪里获取 charts-rs?
- 源代码和安装说明在 GitHub 上:https://github.com/vicanso/charts-rs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的 Rust 工具,可将 JPG、PNG 等位图转换为紧凑的 SVG 矢量图,提供命令行、桌面应用和多语言库。
一个声明式信息图生成与渲染引擎,通过文本语法输出 SVG 信息图,适合 AI 生成与流式渲染。
面向 AI 智能体的可视化中间语言,将简洁的图表规格编译为 Vega-Lite、ECharts、Chart.js、Plotly 或 Excel 图表。
开源报表平台,可直接连接数据库和 API,构建实时仪表盘与可嵌入图表。
一个小型同步渲染器,把 Mermaid 图表文本渲染为 SVG,无运行时依赖。