pub struct ErrorBar<K, V, O: ErrorBarOrient<K, V>> { /* private fields */ }
Available on crate feature
errorbar
only.Expand description
An error bar, which visualizes the minimum, average, and maximum of a dataset.
Unlike crate::series::Histogram
, the ErrorBar
code does not classify or aggregate data.
These operations must be done before building error bars.
§Examples
use plotters::prelude::*;
let data = [(1.0, 3.3), (2., 2.1), (3., 1.5), (4., 1.9), (5., 1.0)];
let drawing_area = SVGBackend::new("error_bars_vertical.svg", (300, 200)).into_drawing_area();
drawing_area.fill(&WHITE).unwrap();
let mut chart_builder = ChartBuilder::on(&drawing_area);
chart_builder.margin(10).set_left_and_bottom_label_area_size(20);
let mut chart_context = chart_builder.build_cartesian_2d(0.0..6.0, 0.0..6.0).unwrap();
chart_context.configure_mesh().draw().unwrap();
chart_context.draw_series(data.map(|(x, y)| {
ErrorBar::new_vertical(x, y - 0.4, y, y + 0.3, BLUE.filled(), 10)
})).unwrap();
chart_context.draw_series(data.map(|(x, y)| {
ErrorBar::new_vertical(x, y + 1.0, y + 1.9, y + 2.4, RED, 10)
})).unwrap();
This code produces two series of five error bars each, showing minima, maxima, and average values:
ErrorBar::new_vertical()
is used to create vertical error bars. Here is an example using
ErrorBar::new_horizontal()
instead:
Implementations§
Source§impl<K, V> ErrorBar<K, V, ErrorBarOrientV<K, V>>
impl<K, V> ErrorBar<K, V, ErrorBarOrientV<K, V>>
Sourcepub fn new_vertical<S: Into<ShapeStyle>>(
key: K,
min: V,
avg: V,
max: V,
style: S,
width: u32,
) -> Self
pub fn new_vertical<S: Into<ShapeStyle>>( key: K, min: V, avg: V, max: V, style: S, width: u32, ) -> Self
Creates a vertical error bar. `
key
: Horizontal position of the barmin
: Minimum of the dataavg
: Average of the datamax
: Maximum of the datastyle
: Color, transparency, and fill of the error bar. SeeShapeStyle
for more information and examples.width
: Width of the error marks in backend coordinates.
See ErrorBar
for more information and examples.
Source§impl<K, V> ErrorBar<K, V, ErrorBarOrientH<K, V>>
impl<K, V> ErrorBar<K, V, ErrorBarOrientH<K, V>>
Sourcepub fn new_horizontal<S: Into<ShapeStyle>>(
key: K,
min: V,
avg: V,
max: V,
style: S,
width: u32,
) -> Self
pub fn new_horizontal<S: Into<ShapeStyle>>( key: K, min: V, avg: V, max: V, style: S, width: u32, ) -> Self
Creates a horizontal error bar.
key
: Vertical position of the barmin
: Minimum of the dataavg
: Average of the datamax
: Maximum of the datastyle
: Color, transparency, and fill of the error bar. SeeShapeStyle
for more information and examples.width
: Width of the error marks in backend coordinates.
See ErrorBar
for more information and examples.
Trait Implementations§
Source§impl<K, V, O: ErrorBarOrient<K, V>, DB: DrawingBackend> Drawable<DB> for ErrorBar<K, V, O>
impl<K, V, O: ErrorBarOrient<K, V>, DB: DrawingBackend> Drawable<DB> for ErrorBar<K, V, O>
Source§impl<'a, K: Clone, V: Clone, O: ErrorBarOrient<K, V>> PointCollection<'a, (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)> for &'a ErrorBar<K, V, O>
impl<'a, K: Clone, V: Clone, O: ErrorBarOrient<K, V>> PointCollection<'a, (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)> for &'a ErrorBar<K, V, O>
Source§type Point = (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)
type Point = (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)
The item in point iterator
Source§type IntoIter = Vec<<&'a ErrorBar<K, V, O> as PointCollection<'a, (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)>>::Point>
type IntoIter = Vec<<&'a ErrorBar<K, V, O> as PointCollection<'a, (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)>>::Point>
The point iterator
Source§fn point_iter(self) -> Self::IntoIter
fn point_iter(self) -> Self::IntoIter
framework to do the coordinate mapping
Auto Trait Implementations§
impl<K, V, O> Freeze for ErrorBar<K, V, O>
impl<K, V, O> RefUnwindSafe for ErrorBar<K, V, O>
impl<K, V, O> Send for ErrorBar<K, V, O>
impl<K, V, O> Sync for ErrorBar<K, V, O>
impl<K, V, O> Unpin for ErrorBar<K, V, O>
impl<K, V, O> UnwindSafe for ErrorBar<K, V, O>
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
Source§impl<'b, T, DB, Coord> IntoDynElement<'b, DB, Coord> for Twhere
T: Drawable<DB> + 'b,
&'a T: for<'a> PointCollection<'a, Coord>,
Coord: Clone,
DB: DrawingBackend,
impl<'b, T, DB, Coord> IntoDynElement<'b, DB, Coord> for Twhere
T: Drawable<DB> + 'b,
&'a T: for<'a> PointCollection<'a, Coord>,
Coord: Clone,
DB: DrawingBackend,
Source§fn into_dyn(self) -> DynElement<'b, DB, Coord>
fn into_dyn(self) -> DynElement<'b, DB, Coord>
Make the conversion