Rust
Directly use the pluot Rust crate to render plots from within your Rust code.
Rust
Directly use the pluot Rust crate to render plots from within your Rust code.
JavaScript
Render static and interactive plots in the web browser. Made possible via WebAssembly bindings in browsers that support WebGPU.
Python
Render static plots in Python environments via PyO3 bindings to the Rust library. Or, render interactive plots in notebook environments via AnyWidget.
More coming soon
If you don't see your favorite programming language here, reach out on GitHub.
Fast
Render millions of points on each frame of an animation or user interaction (e.g., pan, zoom).
Small
The WASM binary size is currently less than 4MB, making it practical to integrate into web applications.
Scalable
Scales to out-of-memory dataset sizes using partial reads of arrays/columns and data tiling/aggregation strategies.
Raster or vector output
The same plot implementation can support both raster and vector outputs. Use vector outputs for publication-quality graphics exporting. Use raster outputs for high-performance interactive visualization powered by WebGPU.
Layer-based API
Compose the built-in layers to create complex plots, or build your own layers with full control over the WebGPU shaders, buffers, render pipeline, and draw calls.
Leave the browser behind
Plotting functions are implemented in Rust using wgpu, and do not rely on a web browser or JavaScript runtime when plotting in non-web environments.