Struct plotters::prelude::GroupBy [−][src]
pub struct GroupBy<T: DiscreteRanged>(_, _);
Expand description
Grouping the value in the coordinate specification.
This combinator doesn’t change the coordinate mapping behavior. But it changes how the key point is generated, this coordinate specification will enforce that only the first value in each group can be emitted as the bold key points.
This is useful, for example, when we have an X axis is a integer and denotes days. And we are expecting the tick mark denotes weeks, in this way we can make the range spec grouping by 7 elements. With the help of the GroupBy decorator, this can be archived quite easily:
use plotters::prelude::*; let mut buf = vec![0;1024*768*3]; let area = BitMapBackend::with_buffer(buf.as_mut(), (1024, 768)).into_drawing_area(); let chart = ChartBuilder::on(&area) .build_cartesian_2d((0..100).group_by(7), 0..100) .unwrap();
To apply this combinator, call ToGroupByRange::group_by method on any discrete coordinate spec.
Trait Implementations
impl<T: Clone + DiscreteRanged> Clone for GroupBy<T>
[src]
impl<T: Clone + DiscreteRanged> Clone for GroupBy<T>
[src]impl<T: DiscreteRanged> DiscreteRanged for GroupBy<T>
[src]
impl<T: DiscreteRanged> DiscreteRanged for GroupBy<T>
[src]fn size(&self) -> usize
[src]
fn size(&self) -> usize
[src]Get the number of element in the range Note: we assume that all the ranged discrete coordinate has finite value Read more
fn from_index(&self, index: usize) -> Option<Self::ValueType>
[src]
fn from_index(&self, index: usize) -> Option<Self::ValueType>
[src]Reverse map the index to the value Read more
fn values(&self) -> DiscreteValueIter<'_, Self> where
Self: Sized,
[src]
fn values(&self) -> DiscreteValueIter<'_, Self> where
Self: Sized,
[src]Return a iterator that iterates over the all possible values Read more
impl<T: DiscreteRanged> Ranged for GroupBy<T>
[src]
impl<T: DiscreteRanged> Ranged for GroupBy<T>
[src]type FormatOption = NoDefaultFormatting
type FormatOption = NoDefaultFormatting
This marker decides if Plotters default ValueFormatter implementation should be used. This assicated type can be one of follow two types: Read more
fn map(&self, value: &T::ValueType, limit: (i32, i32)) -> i32
[src]
fn map(&self, value: &T::ValueType, limit: (i32, i32)) -> i32
[src]This function maps the value to i32, which is the drawing coordinate
fn key_points<HintType: KeyPointHint>(
&self,
hint: HintType
) -> Vec<T::ValueType>
[src]
fn key_points<HintType: KeyPointHint>(
&self,
hint: HintType
) -> Vec<T::ValueType>
[src]This function gives the key points that we can draw a grid based on this
impl<T, R: DiscreteRanged<ValueType = T> + ValueFormatter<T>> ValueFormatter<T> for GroupBy<R>
[src]
impl<T, R: DiscreteRanged<ValueType = T> + ValueFormatter<T>> ValueFormatter<T> for GroupBy<R>
[src]Auto Trait Implementations
impl<T> RefUnwindSafe for GroupBy<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for GroupBy<T> where
T: Send,
T: Send,
impl<T> Sync for GroupBy<T> where
T: Sync,
T: Sync,
impl<T> Unpin for GroupBy<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for GroupBy<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> AsRangedCoord for T where
T: Ranged,
[src]
impl<T> AsRangedCoord for T where
T: Ranged,
[src]impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<DC> ReversibleRanged for DC where
DC: DiscreteRanged,
[src]
impl<DC> ReversibleRanged for DC where
DC: DiscreteRanged,
[src]impl<T> SetParameter for T
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more