Struct plotters::coord::ranged1d::SegmentedCoord[][src]

pub struct SegmentedCoord<D: DiscreteRanged>(_);
Expand description

A SegmentedCoord is a decorator on any discrete coordinate specification. This decorator will convert the discrete coordiante in two ways:

  • Add an extra dummy element after all the values in origianl discrete coordinate
  • Logically each value v from original coordinate system is mapped into an segment [v, v+1) where v+1 denotes the sucessor of the v
  • Introduce two types of values SegmentValue::Exact(value) which denotes the left end of value’s segment and SegmentValue::CenterOf(value) which refers the center of the segment. This is used in histogram types, which uses a discrete coordinate as the buckets. The segmented coord always emits CenterOf(value) key points, thus it allows all the label and tick marks of the coordinate rendered in the middle of each segment. The coresponding trait IntoSegmentedCoord is used to apply this decorator to coordinates.

Trait Implementations

impl<D: Clone + DiscreteRanged> Clone for SegmentedCoord<D>[src]

fn clone(&self) -> SegmentedCoord<D>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<D: DiscreteRanged> DiscreteRanged for SegmentedCoord<D>[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 index_of(&self, value: &Self::ValueType) -> Option<usize>[src]

Map a value to the index Read more

fn from_index(&self, idx: usize) -> Option<Self::ValueType>[src]

Reverse map the index to the value Read more

fn values(&self) -> DiscreteValueIter<'_, Self> where
    Self: Sized
[src]

Return a iterator that iterates over the all possible values Read more

fn previous(&self, value: &Self::ValueType) -> Option<Self::ValueType>[src]

Returns the previous value in this range Read more

fn next(&self, value: &Self::ValueType) -> Option<Self::ValueType>[src]

Returns the next value in this range Read more

impl<D: DiscreteRanged> Ranged for SegmentedCoord<D>[src]

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

type ValueType = SegmentValue<D::ValueType>

The type of this value in this range specification

fn map(&self, value: &Self::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<Self::ValueType>
[src]

This function gives the key points that we can draw a grid based on this

fn range(&self) -> Range<Self::ValueType>[src]

Get the range of this value

fn axis_pixel_range(&self, limit: (i32, i32)) -> Range<i32>[src]

This function provides the on-axis part of its range

impl<T, D: DiscreteRanged + Ranged<ValueType = T>> ValueFormatter<SegmentValue<T>> for SegmentedCoord<D> where
    D: ValueFormatter<T>, 
[src]

fn format(value: &SegmentValue<T>) -> String[src]

Format the value

Auto Trait Implementations

impl<D> RefUnwindSafe for SegmentedCoord<D> where
    D: RefUnwindSafe

impl<D> Send for SegmentedCoord<D> where
    D: Send

impl<D> Sync for SegmentedCoord<D> where
    D: Sync

impl<D> Unpin for SegmentedCoord<D> where
    D: Unpin

impl<D> UnwindSafe for SegmentedCoord<D> where
    D: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> AsRangedCoord for T where
    T: Ranged
[src]

type CoordDescType = T

type Value = <T as Ranged>::ValueType

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<DC> ReversibleRanged for DC where
    DC: DiscreteRanged
[src]

pub fn unmap(&Self, i32, (i32, i32)) -> Option<<DC as Ranged>::ValueType>[src]

impl<T> SetParameter for T

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]

type Owned = T

The resulting type after obtaining ownership.

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]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.