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}