line/
line.rs

1use pointy::BBox;
2use splotch::{
3    axis::{Horizontal, Vertical},
4    plot, Chart, Page,
5};
6
7fn main() {
8    let data_a =
9        vec![(13.0, 74.0), (111.0, 37.0), (125.0, 52.0), (190.0, 66.0)];
10    let data_b = vec![
11        (22.0, 50.0),
12        (105.0, 44.0),
13        (120.0, 67.0),
14        (180.0, 39.0),
15        (210.0, 43.0),
16    ];
17    let domain = {
18        let mut domain = BBox::new(data_a.iter().cloned());
19        domain.extend(data_b.iter().cloned());
20        domain
21    };
22    let plot_a = plot::Line::new("Series A", &domain, &data_a);
23    let plot_b = plot::Line::new("Series B", &domain, &data_b);
24    let page = Page::default().with_chart(
25        Chart::default()
26            .with_title("Line Plot")
27            .with_axis(Horizontal::new(domain).with_name("X Axis Name"))
28            .with_axis(Vertical::new(domain).with_name("Y Axis Name"))
29            .with_axis(Vertical::new(domain).on_right())
30            .with_plot(&plot_a)
31            .with_plot(&plot_b),
32    );
33    print!("{}", page);
34}