gguppy

Crates.iogguppy
lib.rsgguppy
version0.4.0
created_at2024-02-23 01:56:41.101656+00
updated_at2025-06-15 00:14:13.560755+00
descriptionCompose once, chart anywhere with the pure Rust grammar of graphics crate gguppy.
homepagehttps://github.com/alwinw/gguppy
repositoryhttps://github.com/alwinw/gguppy
max_upload_size
id1149970
size538,224
Alwin Wang (alwinw)

documentation

README

gguppy

[!CAUTION] ๐Ÿšง This package is still in work and subject to great change.

gguppy (nรฉ arwggplot) is an interactive, unified, layered Grammar of Graphics implementation in pure Rust. Compose once, chart anywhere with gguppy.

Why gguppy?

1. Friendly syntax

Rust is strange for python and R users. gguppy aims to provide a familiar, friendly and ergonomic syntax. You can even write in different coding styles.

Grammar of graphics is a first class citizen in gguppy:

use gguppy::prelude::*

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

A MATLAB/matplotlib-esque syntax will also be supported.

use gguppy::prelude::*

fig, axis = mplot![]

2. Batteries included

gguppy aims to allow you to write once, plot anywhere using its flexible and extensible architecture.

3. Speed

Workspace Structure

Crates

  • ๐Ÿ› ๏ธ gguppy_core

    • ๐Ÿ› ๏ธ Implementation of the grammar of graphics in no_std Rust
    • ๐Ÿ› ๏ธ Consumes any dataframe-like structure implementing the GGData trait
    • ๐Ÿ› ๏ธ Extensible with any plot types implementing the GGCapable trait
    • ๐Ÿ› ๏ธ Produces geometric primitives implementing the DrawablePrim trait
    • ๐Ÿ› ๏ธ Compiles for static desktop display or interactive wasm plots
  • ๐Ÿ› ๏ธ gguppy_data

    • ๐Ÿ› ๏ธ Minimalist dataframe minidf plottable by gguppy in no_std Rust
    • ๐Ÿ› ๏ธ Features adapters for arrow and arrow2
    • ๐Ÿ› ๏ธ Features adapters for polars, pandas, and more
  • ๐Ÿ› ๏ธ arwggplot

    • ๐Ÿ› ๏ธ Minimalist svg backend for gguppy in no_std Rust
    • ๐Ÿ› ๏ธ Features vector backends to svg, eps, and more
    • ๐Ÿ› ๏ธ Features raster backends to bmp, png, and more

Module Layout

  • src
Commit count: 0

cargo fmt