pub struct Chart<'a, P>where
P: IntoPoint,{ /* private fields */ }Expand description
Chart for plotting data
Multiple Plots can be rendered in a single Chart, even with unrelated
domains and axes.
Implementations§
Source§impl<'a, P> Chart<'a, P>where
P: IntoPoint,
impl<'a, P> Chart<'a, P>where
P: IntoPoint,
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new chart
Examples found in repository?
examples/area.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::new().chart(
Chart::new()
.title("Area Plot")
.domain(&data_a[..])
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::area("Series A", &data_a))
.plot(Plot::area("Series B", &data_b)),
);
print!("{page}");
}More examples
examples/scatter.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::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!("{page}");
}examples/line.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39), (210, 43)];
let page = Page::new().chart(
Chart::new()
.title("Line Plot")
.domain(Domain::from(&data_a[..]).including(&data_b))
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::line("Series A", &data_a).label())
.plot(Plot::line("Series B", &data_b)),
);
print!("{page}");
}Sourcepub fn aspect_ratio(self, aspect: AspectRatio) -> Self
pub fn aspect_ratio(self, aspect: AspectRatio) -> Self
Adjust the aspect ratio
Sourcepub fn domain<D>(self, domain: D) -> Self
pub fn domain<D>(self, domain: D) -> Self
Set the domain
Panics if called after axis or plot.
Examples found in repository?
examples/area.rs (line 9)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::new().chart(
Chart::new()
.title("Area Plot")
.domain(&data_a[..])
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::area("Series A", &data_a))
.plot(Plot::area("Series B", &data_b)),
);
print!("{page}");
}More examples
examples/scatter.rs (line 9)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::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!("{page}");
}examples/line.rs (line 9)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39), (210, 43)];
let page = Page::new().chart(
Chart::new()
.title("Line Plot")
.domain(Domain::from(&data_a[..]).including(&data_b))
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::line("Series A", &data_a).label())
.plot(Plot::line("Series B", &data_b)),
);
print!("{page}");
}Sourcepub fn title<T>(self, title: T) -> Self
pub fn title<T>(self, title: T) -> Self
Add a chart title
Panics if called after axis or plot.
Examples found in repository?
examples/area.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::new().chart(
Chart::new()
.title("Area Plot")
.domain(&data_a[..])
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::area("Series A", &data_a))
.plot(Plot::area("Series B", &data_b)),
);
print!("{page}");
}More examples
examples/scatter.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::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!("{page}");
}examples/line.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39), (210, 43)];
let page = Page::new().chart(
Chart::new()
.title("Line Plot")
.domain(Domain::from(&data_a[..]).including(&data_b))
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::line("Series A", &data_a).label())
.plot(Plot::line("Series B", &data_b)),
);
print!("{page}");
}Sourcepub fn axis(self, name: &'a str, edge: Edge) -> Self
pub fn axis(self, name: &'a str, edge: Edge) -> Self
Add an Axis
Panics if called after plot.
Examples found in repository?
examples/area.rs (line 10)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::new().chart(
Chart::new()
.title("Area Plot")
.domain(&data_a[..])
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::area("Series A", &data_a))
.plot(Plot::area("Series B", &data_b)),
);
print!("{page}");
}More examples
examples/scatter.rs (line 10)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::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!("{page}");
}examples/line.rs (line 10)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39), (210, 43)];
let page = Page::new().chart(
Chart::new()
.title("Line Plot")
.domain(Domain::from(&data_a[..]).including(&data_b))
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::line("Series A", &data_a).label())
.plot(Plot::line("Series B", &data_b)),
);
print!("{page}");
}Sourcepub fn plot(self, plot: Plot<'a, P>) -> Self
pub fn plot(self, plot: Plot<'a, P>) -> Self
Add a Plot
Examples found in repository?
examples/area.rs (line 13)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::new().chart(
Chart::new()
.title("Area Plot")
.domain(&data_a[..])
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::area("Series A", &data_a))
.plot(Plot::area("Series B", &data_b)),
);
print!("{page}");
}More examples
examples/scatter.rs (line 13)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
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 page = Page::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!("{page}");
}examples/line.rs (line 13)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let data_a = vec![(13, 74), (111, 37), (125, 52), (190, 66)];
let data_b = vec![(22, 50), (105, 44), (120, 67), (180, 39), (210, 43)];
let page = Page::new().chart(
Chart::new()
.title("Line Plot")
.domain(Domain::from(&data_a[..]).including(&data_b))
.axis("X Axis", Edge::Bottom)
.axis("Y Axis", Edge::Left)
.axis("", Edge::Right)
.plot(Plot::line("Series A", &data_a).label())
.plot(Plot::line("Series B", &data_b)),
);
print!("{page}");
}Trait Implementations§
Auto Trait Implementations§
impl<'a, P> Freeze for Chart<'a, P>
impl<'a, P> RefUnwindSafe for Chart<'a, P>where
P: RefUnwindSafe,
impl<'a, P> Send for Chart<'a, P>where
P: Sync,
impl<'a, P> Sync for Chart<'a, P>where
P: Sync,
impl<'a, P> Unpin for Chart<'a, P>
impl<'a, P> UnwindSafe for Chart<'a, P>where
P: RefUnwindSafe,
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