23 个版本 (11 个重大更新)

0.12.0 2024 年 3 月 29 日
0.11.0 2024 年 3 月 11 日
0.4.0 2023 年 12 月 4 日
0.3.0-beta.12023 年 11 月 30 日

#110 in 可视化

MIT/Apache

215KB
5K SLoC

Mondrian Charts

Crates.io Docs

抽象图表生成器和渲染器

Mondrian 提供了一套用于 抽象图表 的类型。抽象图表定义了图表应如何呈现,而不涉及其具体渲染的细节。它允许生成静态图像(为此所需的一切都在此包中),但也可以用作生成交互式图表的源,使用 fiberplane-charts 库。后者还包含用于生成 Mondrian 图表的完整 TypeScript 实现。

此包还提供了基于使用 fiberplane-models 定义的 时间序列数据 创建 Mondrian 图表的生成器。但要注意,对 fiberplane-models 的依赖是可选的,因此如果您想从自己的数据类型生成 Mondrian 图表,也可以。

最后,此包还提供了从 Mondrian 图表生成 SVG 和 PNG 图像以及 image 包支持的其它图像格式的导出器。

为什么不使用 SVG?

与 SVG 一样,Mondrian 也是一种依赖于渲染器的声明性格式,用于最终的可视化。那么为什么不直接使用 SVG 呢?

  • Mondrian 对图表的使用用例有着强烈的意见。虽然它使用抽象的“SVG-like”形状来表示图表的内容,但它具有图表特定的功能,例如带有刻度建议的坐标轴。
  • Mondrian 允许通过附加元数据来创建交互式图表,这些元数据可以用来使坐标轴可拖动,以及在形状上悬停时提供工具提示。

其他显著的区别包括

  • 在Mondrian图表中,坐标被归一化到0.0到1.0的值。这使得只需将坐标乘以所需的宽度和高度,就可以轻松地在任何所需的分辨率下渲染图表。
  • Mondrian数据类型通常被序列化为JSON,尽管可以使用serde支持的任何格式。

最后,值得注意的是,虽然Mondrian是在渲染更具体输出之前的有用中间格式,但Mondrian图表确实也可以序列化为SVG。

使用方法

请参阅:https://docs.rs/mondrian-charts/latest/mondrian_charts

寻求帮助

请参阅COMMUNITY.md了解如何与我们联系。

贡献

请遵循我们的贡献指南,了解如何最好地为这个项目做出贡献。

行为准则

请参阅CODE_OF_CONDUCT.md

许可

本项目根据MIT许可证和Apache许可证(版本2.0)的条款分发。

请参阅LICENSE-APACHELICENSE-MIT

依赖项

~5–7MB
~113K SLoC