pub struct Page<'a> { /* private fields */ }Expand description
Page to render charts
A Page containing one or more Charts can be rendered as HTML using the
Display trait. That is, using println!, or even to_string() is all
that’s needed.
Implementations§
Source§impl<'a> Page<'a>
impl<'a> Page<'a>
Sourcepub fn with_chart(self, chart: Chart<'a>) -> Self
pub fn with_chart(self, chart: Chart<'a>) -> Self
Add a Chart to Page
Examples found in repository?
examples/area.rs (lines 15-23)
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 =
11 vec![(22.0, 50.0), (105.0, 44.0), (120.0, 67.0), (180.0, 39.0)];
12 let domain = BBox::new(data_a.iter().cloned());
13 let plot_a = plot::Area::new("Series A", &domain, &data_a);
14 let plot_b = plot::Area::new("Series B", &domain, &data_b);
15 let page = Page::default().with_chart(
16 Chart::default()
17 .with_title("Area Plot")
18 .with_axis(Horizontal::new(domain).with_name("X Axis Name"))
19 .with_axis(Vertical::new(domain).with_name("Y Axis Name"))
20 .with_axis(Vertical::new(domain).on_right())
21 .with_plot(&plot_a)
22 .with_plot(&plot_b),
23 );
24 print!("{}", page);
25}More examples
examples/scatter.rs (lines 15-23)
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 =
11 vec![(22.0, 50.0), (105.0, 44.0), (120.0, 67.0), (180.0, 39.0)];
12 let domain = BBox::new(data_a.iter().cloned());
13 let plot_a = plot::Scatter::new("Series A", &domain, &data_a);
14 let plot_b = plot::Scatter::new("Series B", &domain, &data_b);
15 let page = Page::default().with_chart(
16 Chart::default()
17 .with_title("Scatter Plot")
18 .with_axis(Horizontal::new(domain).with_name("X Axis Name"))
19 .with_axis(Vertical::new(domain).with_name("Y Axis Name"))
20 .with_axis(Vertical::new(domain).on_right())
21 .with_plot(&plot_a)
22 .with_plot(&plot_b),
23 );
24 print!("{}", page);
25}examples/line.rs (lines 24-32)
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}Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Page<'a>
impl<'a> !RefUnwindSafe for Page<'a>
impl<'a> !Send for Page<'a>
impl<'a> !Sync for Page<'a>
impl<'a> Unpin for Page<'a>
impl<'a> !UnwindSafe for Page<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more