#plot #multi-platform #grammar #graphics #user #implemented #pure

gguppy

一个基于纯Rust语法,具有no_std特性的跨平台绘图库

1个不稳定版本

0.1.0 2024年2月23日

#166 in 可视化

Apache-2.0 OR MIT

71KB
590

gguppy

gguppy是一个基于纯Rust语法,具有no_std特性的跨平台绘图库。一次编写,任何地方绘图。

为什么选择gguppy?

1. 语法友好

Rust对于Python和R用户来说很陌生。gguppy旨在提供一个熟悉、友好且易用的语法。你甚至可以用不同的编码风格来编写。

图形语法在gguppy中是第一公民

use gguppy::prelude::*

df = minidf!["x" => &[1, 2, 3], "y" => &[4, 5, 6]]
plot = ggplot![df, aes("x", "y")] + geom_point![]

也将支持MATLAB/matplotlib风格的语法。

2. 一应俱全

gguppy旨在通过其灵活和可扩展的架构,让你一次编写,任何地方绘图。

3. 速度

工作区结构

制品

  • 🛠️ gguppy_core

    • 🛠️ 在no_std Rust中实现图形语法
    • 🛠️ 消耗任何实现GGData特质的类似dataframe的结构
    • 🛠️ 可通过实现GGCapable特质的任何绘图类型进行扩展
    • 🛠️ 生成实现DrawablePrim特质的几何原语
    • 🛠️ 可编译为静态桌面显示或交互式wasm图表
  • 🛠️ gguppy_data

    • 🛠️ gguppy在no_std Rust中可绘制的最小化dataframe minidf
    • 🛠️ 支持对arrowarrow2的适配器
    • 🛠️ 支持对polarspandas等的适配器
  • 🛠️ arwggplot

    • 🛠️ gguppy的no_std Rust中的最小化svg后端
    • 🛠️ 支持svg、eps等向量化后端
    • 🛠️ 支持bmp、png等栅格化后端

模块布局

布局

  • 板(仪表板、绘图板、画布等):= matplotlib figure、ggplot2 plot

    • 大小
    • 布局
    • 可以转换成整个仪表板、演示文稿或工程打印,带有标题块
  • 图表 := matplotlib axes / subplot

  • 面板 := ggplot2 panel / facet

元素

灵感

依赖项