Struct plotters::element::ErrorBar

source ·
pub struct ErrorBar<K, V, O: ErrorBarOrient<K, V>> { /* private fields */ }
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>>

source

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 bar
  • min: Minimum of the data
  • avg: Average of the data
  • max: Maximum of the data
  • style: Color, transparency, and fill of the error bar. See ShapeStyle 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>>

source

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 bar
  • min: Minimum of the data
  • avg: Average of the data
  • max: Maximum of the data
  • style: Color, transparency, and fill of the error bar. See ShapeStyle 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, BackendCoordOnly> for ErrorBar<K, V, O>

source§

fn draw<I: Iterator<Item = BackendCoord>>( &self, points: I, backend: &mut DB, _: (u32, u32) ) -> Result<(), DrawingErrorKind<DB::ErrorType>>

Actually draws the element. The key points is already translated into the image coordinate and can be used by DC directly
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), BackendCoordOnly> for &'a ErrorBar<K, V, O>

§

type Point = (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType)

The item in point iterator
§

type IntoIter = Vec<<&'a ErrorBar<K, V, O> as PointCollection<'a, (<O as ErrorBarOrient<K, V>>::XType, <O as ErrorBarOrient<K, V>>::YType), BackendCoordOnly>>::Point, Global>

The point iterator
source§

fn point_iter(self) -> Self::IntoIter

framework to do the coordinate mapping

Auto Trait Implementations§

§

impl<K, V, O> RefUnwindSafe for ErrorBar<K, V, O>where K: RefUnwindSafe, O: RefUnwindSafe, V: RefUnwindSafe,

§

impl<K, V, O> Send for ErrorBar<K, V, O>where K: Send, O: Send, V: Send,

§

impl<K, V, O> Sync for ErrorBar<K, V, O>where K: Sync, O: Sync, V: Sync,

§

impl<K, V, O> Unpin for ErrorBar<K, V, O>where K: Unpin, O: Unpin, V: Unpin,

§

impl<K, V, O> UnwindSafe for ErrorBar<K, V, O>where K: UnwindSafe, O: UnwindSafe, V: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<'b, T, DB, Coord> IntoDynElement<'b, DB, Coord> for Twhere T: Drawable<DB, BackendCoordOnly> + 'b, &'a T: for<'a> PointCollection<'a, Coord, BackendCoordOnly>, Coord: Clone, DB: DrawingBackend,

source§

fn into_dyn(self) -> DynElement<'b, DB, Coord>

Make the conversion
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.