Crate splot

Crate splot 

Source
Expand description

§splot

Rust crate for plotting to SVG / HTML

  • Styling with CSS
  • Usable in WebAssembly

§Line Plot to SVG

use splot::{Chart, Domain, Edge, Plot};

let data = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let chart = Chart::new()
    .title("Line Plot")
    .domain(Domain::from(&data[..]).set_x(&[0.0, 200.0]))
    .axis("X Axis", Edge::Bottom)
    .axis("Y Axis", Edge::Left)
    .plot(Plot::line("Series", &data).label());
print!("{chart}");

§Scatter Plot to HTML

use splot::{Chart, Charts, Edge, Plot};

let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39)];
let charts = Charts::new().chart(
    Chart::new()
        .title("Scatter Plot")
        .domain(&data_a[..])
        .axis("X Axis", Edge::Bottom)
        .axis("Y Axis", Edge::Left)
        .axis("", Edge::Right)
        .plot(Plot::scatter("Series A", &data_a).label())
        .plot(Plot::scatter("Series B", &data_b)),
);
print!("{charts}");

Structs§

Chart
Chart for plotting data to SVG
Charts
Container for multiple Charts as HTML
Domain
Data domain in two dimensions
Plot
Plot for rendering data
Point
Data point
Title
Chart title

Enums§

AspectRatio
Chart aspect ratio
Edge
Edge of rendered item

Traits§

IntoPoint
Data which can represent a point