pub trait Ranged {
    type FormatOption: DefaultValueFormatOption;
    type ValueType;

    // Required methods
    fn map(&self, value: &Self::ValueType, limit: (i32, i32)) -> i32;
    fn key_points<Hint: KeyPointHint>(&self, hint: Hint) -> Vec<Self::ValueType>;
    fn range(&self) -> Range<Self::ValueType>;

    // Provided method
    fn axis_pixel_range(&self, limit: (i32, i32)) -> Range<i32> { ... }
}
Expand description

The trait that indicates we have a ordered and ranged value Which is used to describe any 1D axis.

Required Associated Types§

source

type FormatOption: DefaultValueFormatOption

This marker decides if Plotters default ValueFormatter implementation should be used. This associated type can be one of the following two types:

  • DefaultFormatting will allow Plotters to automatically impl the formatter based on Debug trait, if Debug trait is not impl for the Self::Value, ValueFormatter will not impl unless you impl it manually.

  • NoDefaultFormatting Disable the automatic Debug based value formatting. Thus you have to impl the ValueFormatter manually.

source

type ValueType

The type of this value in this range specification

Required Methods§

source

fn map(&self, value: &Self::ValueType, limit: (i32, i32)) -> i32

This function maps the value to i32, which is the drawing coordinate

source

fn key_points<Hint: KeyPointHint>(&self, hint: Hint) -> Vec<Self::ValueType>

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

source

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

Get the range of this value

Provided Methods§

source

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

This function provides the on-axis part of its range

Implementors§

source§

impl Ranged for RangedCoordf32

source§

impl Ranged for RangedCoordf64

source§

impl Ranged for RangedCoordi32

source§

impl Ranged for RangedCoordi64

source§

impl Ranged for RangedCoordi128

source§

impl Ranged for RangedCoordu32

source§

impl Ranged for RangedCoordu64

source§

impl Ranged for RangedCoordu128

source§

impl Ranged for RangedCoordusize

source§

impl Ranged for RangedDuration

source§

impl<'a, T: PartialEq> Ranged for RangedSlice<'a, T>

source§

impl<D> Ranged for RangedDate<D>where D: Datelike + TimeValue + Sub<D, Output = Duration> + Add<Duration, Output = D> + Clone,

source§

impl<D: DiscreteRanged> Ranged for SegmentedCoord<D>

source§

impl<DT> Ranged for RangedDateTime<DT>where DT: Datelike + Timelike + TimeValue + Clone + PartialOrd + Add<Duration, Output = DT> + Sub<DT, Output = Duration>, RangedDate<DT::DateType>: Ranged<ValueType = DT::DateType>,

source§

impl<P: DiscreteRanged, S: Ranged> Ranged for NestedRange<P, S>

source§

impl<R: Ranged> Ranged for WithKeyPointMethod<R>

source§

impl<R: Ranged> Ranged for WithKeyPoints<R>where R::ValueType: Clone,

source§

impl<T: DiscreteRanged> Ranged for GroupBy<T>

source§

impl<T: Ranged, S: Clone, R: LinspaceRoundingMethod<T::ValueType>> Ranged for Linspace<T, S, R>where T::ValueType: Add<S, Output = T::ValueType> + PartialOrd + Clone,

source§

impl<T: TimeValue + Clone> Ranged for Monthly<T>where Range<T>: AsRangedCoord<Value = T>,

source§

impl<T: TimeValue + Clone> Ranged for Yearly<T>where Range<T>: AsRangedCoord<Value = T>,

source§

impl<V: LogScalable> Ranged for LogCoord<V>