rizzma 1.13.3

A Rust reimplementation of the good parts of matplotlib/pyplot, with first-class wasm support.
Documentation
//! Figure and layout scaffolding for rizzma.
//!
//! This crate provides [`GridSpec`] subplot geometry plus the integration core,
//! [`Figure`] and [`Axes`], that ties the artist, axis, text, and raster crates
//! together into "a line on labeled axes → PNG". [`GridSpec`] supplies the
//! figure-fraction arithmetic that positions a regular grid of cells and
//! resolves individual cells or multi-cell spans ([`SubplotSpec`]) to
//! rectangles. [`Axes::legend`] and [`Figure::colorbar`] add legend keys and
//! gradient colorbars, and [`Figure::to_svg`] proves the figure is
//! backend-agnostic. `SubFigure` and full layout engines are follow-ups.
//!
//! # Gallery
//!
//! One figure per Tier-1 plot type, rendered by
//! `cargo run -p rizzma --example gallery` and published to the project's
//! `gh-pages` branch (the images are external, so this doc carries no binaries):
//!
//! | | | |
//! |:-:|:-:|:-:|
//! | ![plot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_plot.png) | ![scatter](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_scatter.png) | ![bar](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_bar.png) |
//! | [`Axes::plot`] | [`Axes::scatter`] | [`Axes::bar`] |
//! | ![hist](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_hist.png) | ![fill_between](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_fill_between.png) | ![errorbar](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_errorbar.png) |
//! | [`Axes::hist`] | [`Axes::fill_between`] | [`Axes::errorbar`] |
//! | ![imshow](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_imshow.png) | ![legend + colorbar](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_legend_colorbar.png) | ![reference lines](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_reflines.png) |
//! | [`Axes::imshow`] | [`Figure::colorbar`] | [`Axes::axhline`] etc. |
//! | ![stem](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_stem.png) | ![stairs](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_stairs.png) | ![stackplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_stackplot.png) |
//! | [`Axes::stem`] | [`Axes::stairs`] | [`Axes::stackplot`] |
//! | ![broken_barh](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_broken_barh.png) | ![pcolormesh](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_pcolormesh.png) | ![boxplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_boxplot.png) |
//! | [`Axes::broken_barh`] | [`Axes::pcolormesh`] | [`Axes::boxplot`] |
//! | ![mathtext](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_mathtext.png) | ![contour](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_contour.png) | ![eventplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_eventplot.png) |
//! | mathtext title ([`richtext`]) | [`Axes::contour`] | [`Axes::eventplot`] |
//! | ![fill_betweenx](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_fill_betweenx.png) | ![ecdf](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_ecdf.png) | ![matshow](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_matshow.png) |
//! | [`Axes::fill_betweenx`] | [`Axes::ecdf`] | [`Axes::matshow`] |
//! | ![spy](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_spy.png) | ![hist2d](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_hist2d.png) | ![pie](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_pie.png) |
//! | [`Axes::spy`] | [`Axes::hist2d`] | [`Axes::pie`] |
//! | ![violinplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_violinplot.png) | ![hexbin](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_hexbin.png) | ![grouped_bar](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_grouped_bar.png) |
//! | [`Axes::violinplot`] | [`Axes::hexbin`] | [`Axes::grouped_bar`] |
//! | ![loglog](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_loglog.png) | ![quiver](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_quiver.png) | ![streamplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_streamplot.png) |
//! | [`Axes::loglog`] | [`Axes::quiver`] | [`Axes::streamplot`] |
//! | ![triplot](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_triplot.png) | ![tripcolor](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_tripcolor.png) | ![symlog](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_symlog.png) |
//! | [`Axes::triplot`] | [`Axes::tripcolor`] | [`Axes::symlogy`] |
//! | ![logit](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_logit.png) | ![asinh](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_asinh.png) | |
//! | [`Axes::logity`] | [`Axes::asinhy`] | |
//! | ![dates](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_dates.png) | ![polar](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_polar.png) | ![polar scatter](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_polar_scatter.png) |
//! | [`Axes::set_xaxis_date`] | [`PolarAxes`] | [`PolarAxes::scatter`] |
//! | ![polar fill](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_polar_fill.png) | ![contourf](https://raw.githubusercontent.com/OrbitalCommons/rizzma/gh-pages/gallery_contourf.png) | |
//! | [`PolarAxes::fill`] | [`Axes::contourf`] | |
//!
//! Build-order home: Phase 7 of `design/04-implementation-plan.md`.

pub(crate) mod axes;
pub(crate) mod colorbar;
pub mod event;
#[allow(clippy::module_inception)]
mod figure;
mod gridspec;
pub(crate) mod interact;
pub(crate) mod legend;
mod plotting;
mod plotting_area;
mod plotting_box;
pub(crate) mod plotting_contour;
mod plotting_contourf;
mod plotting_grouped_bar;
mod plotting_hexbin;
mod plotting_image;
mod plotting_matrix;
mod plotting_mesh;
mod plotting_misc;
mod plotting_pie;
mod plotting_quiver;
mod plotting_stats;
mod plotting_steps;
mod plotting_stream;
mod plotting_tri;
mod plotting_violin;
pub mod polar;
pub mod richtext;
pub mod sky;
mod subplotspec;

pub use axes::{Axes, TextBoxStyle};
pub use event::{Event, MouseButton};
pub use figure::Figure;
pub use gridspec::GridSpec;
pub use interact::{Interactor, Outcome};
pub use legend::LegendLocation;
pub use polar::PolarAxes;
pub use sky::{SkyAxes, SkyProjection};
pub use subplotspec::SubplotSpec;