Struct Pie
pub struct Pie<'a, Coord, Label>where
Label: Display,{ /* private fields */ }Expand description
A Pie Graph
Implementations§
§impl<'a, Label> Pie<'a, (i32, i32), Label>where
Label: Display,
impl<'a, Label> Pie<'a, (i32, i32), Label>where
Label: Display,
pub fn new(
center: &'a (i32, i32),
radius: &'a f64,
sizes: &'a [f64],
colors: &'a [RGBColor],
labels: &'a [Label],
) -> Pie<'a, (i32, i32), Label>
pub fn new( center: &'a (i32, i32), radius: &'a f64, sizes: &'a [f64], colors: &'a [RGBColor], labels: &'a [Label], ) -> Pie<'a, (i32, i32), Label>
Build a Pie object. Assumes a start angle at 0.0, which is aligned to the horizontal axis.
pub fn start_angle(&mut self, start_angle: f64)
pub fn start_angle(&mut self, start_angle: f64)
Pass an angle in degrees to change the default. Default is set to start at 0, which is aligned on the x axis.
use plotters::prelude::*;
let mut pie = Pie::new(&(50,50), &10.0, &[50.0, 25.25, 20.0, 5.5], &[RED, BLUE, GREEN, WHITE], &["Red", "Blue", "Green", "White"]);
pie.start_angle(-90.0); // retract to a right angle, so it starts aligned to a vertical Y axis.pub fn label_style<T>(&mut self, label_style: T)
pub fn label_style<T>(&mut self, label_style: T)
Set the label style.
pub fn label_offset(&mut self, offset_to_radius: f64)
pub fn label_offset(&mut self, offset_to_radius: f64)
Sets the offset to labels, to distanciate them further/closer from the center.
pub fn percentages<T>(&mut self, label_style: T)
pub fn percentages<T>(&mut self, label_style: T)
enables drawing the wedge’s percentage in the middle of the wedge, with the given style
pub fn donut_hole(&mut self, hole_radius: f64)
pub fn donut_hole(&mut self, hole_radius: f64)
Enables creating a donut chart with a hole of the specified radius.
The passed value must be greater than zero and lower than the chart overall radius, otherwise it’ll be ignored.
Trait Implementations§
Auto Trait Implementations§
impl<'a, Coord, Label> Freeze for Pie<'a, Coord, Label>
impl<'a, Coord, Label> RefUnwindSafe for Pie<'a, Coord, Label>where
Coord: RefUnwindSafe,
Label: RefUnwindSafe,
impl<'a, Coord, Label> Send for Pie<'a, Coord, Label>
impl<'a, Coord, Label> Sync for Pie<'a, Coord, Label>
impl<'a, Coord, Label> Unpin for Pie<'a, Coord, Label>
impl<'a, Coord, Label> UnwindSafe for Pie<'a, Coord, Label>where
Coord: RefUnwindSafe,
Label: 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
§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>
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