4 个版本
0.1.3 | 2022 年 11 月 15 日 |
---|---|
0.1.2 | 2022 年 10 月 9 日 |
0.1.1 | 2022 年 10 月 7 日 |
0.1.0 | 2022 年 10 月 7 日 |
#249 in 可视化
175KB
4.5K SLoC
关于
papyri
是一个基于 cairo-rs
的轻量级、专注的数据可视化库。其主要目的是为基于 Rust 的 GTK 应用程序提供无缝的绘图功能。它支持线、散点、条形、区间、面积和标签“映射”,这些是定量数据的图形表示。生成的图表可以导出为 svg、png 和 eps,因此它也适用于针对打印文档或网页的独立可视化库。
设计
papyri
基于绘图定义和渲染之间的强分离。 papyri::model
负责构建绘图模型。这些是松散类型、可序列化的数据结构,可用于与命令行工具等高级应用程序接口,该工具读取并渲染绘图 JSON 定义,或基于动态语言的编程环境。如果您有一个客户端-服务器架构,且客户端应用程序只需要构建绘图定义(而不关心渲染),则只需使用此模块。那里所有结构都提供了易于使用的类似构建器的模式来构建绘图定义。定义可以序列化为 JSON,以便从命令行或服务器应用程序构建。
如果库与功能 "gdk"、"gdk-pixbuf" 和 "cairo-rs" 编译,则还会导出 papyri::render
模块。这可以由服务器或应用程序直接用于实际渲染图表。请注意,Cairo 和 glib 框架是渲染化的系统依赖项。如果您在 GTK 应用程序上工作(使用 DrawingArea 小部件),则可以轻松地将渲染到 Cairo 表面,或者可以直接导出图表。
依赖项
~5–17MB
~234K SLoC