Struct EmptyElement
pub struct EmptyElement<Coord, DB>where
DB: DrawingBackend,{ /* private fields */ }Expand description
An empty composable element. This is the starting point of a composed element.
§Example
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("composable.svg", (300, 200)).into_drawing_area();
drawing_area.fill(&WHITE).unwrap();
let mut chart_builder = ChartBuilder::on(&drawing_area);
chart_builder.margin(7).set_left_and_bottom_label_area_size(20);
let mut chart_context = chart_builder.build_cartesian_2d(0.0..5.5, 0.0..5.5).unwrap();
chart_context.configure_mesh().draw().unwrap();
chart_context.draw_series(data.map(|(x, y)| {
EmptyElement::at((x, y)) // Use the guest coordinate system with EmptyElement
+ Circle::new((0, 0), 10, BLUE) // Use backend coordinates with the rest
+ Cross::new((4, 4), 3, RED)
+ Pixel::new((4, -4), RED)
+ TriangleMarker::new((-4, -4), 4, RED)
})).unwrap();The result is a data series where each point consists of a circle, a cross, a pixel, and a triangle:
Implementations§
§impl<Coord, DB> EmptyElement<Coord, DB>where
DB: DrawingBackend,
impl<Coord, DB> EmptyElement<Coord, DB>where
DB: DrawingBackend,
pub fn at(coord: Coord) -> EmptyElement<Coord, DB>
pub fn at(coord: Coord) -> EmptyElement<Coord, DB>
An empty composable element. This is the starting point of a composed element.
See EmptyElement for more information and examples.
Trait Implementations§
§impl<Coord, Other, DB> Add<Other> for EmptyElement<Coord, DB>
impl<Coord, Other, DB> Add<Other> for EmptyElement<Coord, DB>
§impl<Coord, DB> Drawable<DB> for EmptyElement<Coord, DB>where
DB: DrawingBackend,
impl<Coord, DB> Drawable<DB> for EmptyElement<Coord, DB>where
DB: DrawingBackend,
§impl<'a, Coord, DB> PointCollection<'a, Coord> for &'a EmptyElement<Coord, DB>where
DB: DrawingBackend,
impl<'a, Coord, DB> PointCollection<'a, Coord> for &'a EmptyElement<Coord, DB>where
DB: DrawingBackend,
§fn point_iter(
self,
) -> <&'a EmptyElement<Coord, DB> as PointCollection<'a, Coord>>::IntoIter
fn point_iter( self, ) -> <&'a EmptyElement<Coord, DB> as PointCollection<'a, Coord>>::IntoIter
framework to do the coordinate mapping
Auto Trait Implementations§
impl<Coord, DB> Freeze for EmptyElement<Coord, DB>where
Coord: Freeze,
impl<Coord, DB> RefUnwindSafe for EmptyElement<Coord, DB>where
Coord: RefUnwindSafe,
DB: RefUnwindSafe,
impl<Coord, DB> Send for EmptyElement<Coord, DB>
impl<Coord, DB> Sync for EmptyElement<Coord, DB>
impl<Coord, DB> Unpin for EmptyElement<Coord, DB>
impl<Coord, DB> UnwindSafe for EmptyElement<Coord, DB>where
Coord: UnwindSafe,
DB: UnwindSafe,
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§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,
§fn into_dyn(self) -> DynElement<'b, DB, Coord>
fn into_dyn(self) -> DynElement<'b, DB, Coord>
Make the conversion
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more