Skip to main content

errorbar/
errorbar.rs

1use bland::{Figure, Marker, PaperSize};
2
3fn main() {
4    let xs: Vec<f64> = (1..=8).map(|i| i as f64).collect();
5    let ys: Vec<f64> = xs.iter().map(|x| 2.0 * x.ln() + 1.0).collect();
6    let yerr: Vec<f64> = xs.iter().enumerate().map(|(i, _)| 0.2 + (i as f64 * 0.05)).collect();
7
8    let fig = Figure::new()
9        .size(PaperSize::A5Landscape)
10        .title("Mean ± 1σ")
11        .xlabel("trial")
12        .ylabel("response")
13        .errorbar(&xs, &ys, |e| {
14            e.yerr(&yerr).marker(Marker::CircleFilled).label("trials ±1σ")
15        })
16        .legend_bottom_right();
17
18    std::fs::create_dir_all("out").expect("create out/");
19    std::fs::write("out/errorbar.svg", fig.to_svg()).expect("write svg");
20    println!("wrote out/errorbar.svg");
21}