pub struct ScaleColorDiscrete { /* private fields */ }Expand description
Discrete color scale — maps categories to distinct colors.
Implementations§
Source§impl ScaleColorDiscrete
impl ScaleColorDiscrete
pub fn new(aesthetic: Aesthetic) -> Self
Sourcepub fn sorted(self) -> Self
pub fn sorted(self) -> Self
Order levels lexicographically (instead of first appearance) so a given level always gets the same palette colour and legend position across charts, whatever order the data arrives in — no need to pre-sort levels and repeat a manual palette per chart.
pub fn with_palette(self, colors: Vec<RGBAColor>) -> Self
pub fn with_named_palette(self, name: &PaletteName) -> Self
Sourcepub fn with_levels(self, levels: Vec<String>) -> Self
pub fn with_levels(self, levels: Vec<String>) -> Self
Pre-seed the factor levels (order), so each level keeps a fixed palette color regardless of which levels are present in the data — e.g. for a legend whose series can be toggled without the colors reshuffling.
Sourcepub fn color_for_index(&self, idx: usize) -> RGBAColor
pub fn color_for_index(&self, idx: usize) -> RGBAColor
Get color for a given level index.
Sourcepub fn color_for_value(&self, value: &Value) -> RGBAColor
pub fn color_for_value(&self, value: &Value) -> RGBAColor
Get color for a value.
pub fn levels(&self) -> &[String]
Trait Implementations§
Source§impl Clone for ScaleColorDiscrete
impl Clone for ScaleColorDiscrete
Source§impl Debug for ScaleColorDiscrete
impl Debug for ScaleColorDiscrete
Source§impl Scale for ScaleColorDiscrete
impl Scale for ScaleColorDiscrete
Source§fn map(&self, value: &Value) -> f64
fn map(&self, value: &Value) -> f64
Map a data value to a [0, 1] normalized position (position scales)
or to a concrete visual value index (color/size scales).
Source§fn is_discrete(&self) -> bool
fn is_discrete(&self) -> bool
Whether this is a discrete scale.
Source§fn map_to_color(&self, value: &Value) -> Option<(u8, u8, u8)>
fn map_to_color(&self, value: &Value) -> Option<(u8, u8, u8)>
Map a data value to an RGB color. Default returns None.
Source§fn reset_training(&mut self)
fn reset_training(&mut self)
Reset training state so the scale can be retrained on new data.
Source§fn map_to_shape(&self, _value: &Value) -> Option<PointShape>
fn map_to_shape(&self, _value: &Value) -> Option<PointShape>
Map a data value to a point shape. Default returns None.
Source§fn map_to_linetype(&self, _value: &Value) -> Option<Linetype>
fn map_to_linetype(&self, _value: &Value) -> Option<Linetype>
Map a data value to a linetype. Default returns None.
Source§fn map_to_size(&self, _value: &Value) -> Option<f64>
fn map_to_size(&self, _value: &Value) -> Option<f64>
Map a data value to a point size (radius in pixels). Default returns None.
Source§fn map_to_alpha(&self, _value: &Value) -> Option<f64>
fn map_to_alpha(&self, _value: &Value) -> Option<f64>
Map a data value to an alpha (opacity) value. Default returns None.
Source§fn set_limits(&mut self, _min: f64, _max: f64)
fn set_limits(&mut self, _min: f64, _max: f64)
Override the trained domain limits (used by coord_cartesian zoom).
Source§fn filter_limits(&self) -> Option<(f64, f64)>
fn filter_limits(&self) -> Option<(f64, f64)>
Return OOB filter limits if this scale was created with explicit limits
(e.g., via xlim/ylim). Data outside these limits should be removed before stats.
Source§fn domain(&self) -> Option<(f64, f64)>
fn domain(&self) -> Option<(f64, f64)>
Return the trained data domain (min, max) for continuous scales.
Used by the colorbar legend to pass data-space values to map_to_color().
Source§fn expanded_domain(&self) -> Option<(f64, f64)>
fn expanded_domain(&self) -> Option<(f64, f64)>
The data values at the panel edges (normalized 0 and 1) for a trained
continuous position scale — the limits after expansion, in the scale’s
transformed space.
None for discrete / untrained / non-position scales.Source§fn axis_position_opposite(&self) -> bool
fn axis_position_opposite(&self) -> bool
Whether this axis is drawn on the opposite side (x → top, y → right).
Auto Trait Implementations§
impl Freeze for ScaleColorDiscrete
impl RefUnwindSafe for ScaleColorDiscrete
impl Send for ScaleColorDiscrete
impl Sync for ScaleColorDiscrete
impl Unpin for ScaleColorDiscrete
impl UnsafeUnpin for ScaleColorDiscrete
impl UnwindSafe for ScaleColorDiscrete
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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