pub struct ScaleColorGradientN { /* private fields */ }Expand description
N-stop continuous color gradient scale. Interpolates linearly between user-defined color stops.
Implementations§
Source§impl ScaleColorGradientN
impl ScaleColorGradientN
Sourcepub fn new(aesthetic: Aesthetic, stops: Vec<(f64, RGBAColor)>) -> Self
pub fn new(aesthetic: Aesthetic, stops: Vec<(f64, RGBAColor)>) -> Self
Create a new N-stop gradient for the given aesthetic.
Stops are (position, color) where position is in [0, 1].
Sourcepub fn with_value_formatter<F>(self, f: F) -> Self
pub fn with_value_formatter<F>(self, f: F) -> Self
Set a formatter for format_value —
a per-mark data-fvalue/tooltip-template value for this fill/colour
scale (#164). Falls back to the plain locale-formatted number when
unset (byte-identical default output).
Sourcepub fn with_limits(self, lo: f64, hi: f64) -> Self
pub fn with_limits(self, lo: f64, hi: f64) -> Self
Fix the colour domain to [lo, hi] instead of whatever the data
happens to span. Out-of-range values follow
with_oob (default: na_value).
Sourcepub fn with_oob(self, oob: Oob) -> Self
pub fn with_oob(self, oob: Oob) -> Self
Out-of-bounds policy for with_limits:
Oob::Censor (default) or
Oob::Squish.
Sourcepub fn with_na_value(self, color: (u8, u8, u8)) -> Self
pub fn with_na_value(self, color: (u8, u8, u8)) -> Self
Colour for a genuinely missing (NA) value, or one censored by
with_limits’s default [Oob::Censor]. Default ggplot2’s
"grey50", (127, 127, 127).
Trait Implementations§
Source§impl Clone for ScaleColorGradientN
impl Clone for ScaleColorGradientN
Source§impl Debug for ScaleColorGradientN
impl Debug for ScaleColorGradientN
Source§impl Scale for ScaleColorGradientN
impl Scale for ScaleColorGradientN
Source§fn set_default_locale(&mut self, locale: &Locale)
fn set_default_locale(&mut self, locale: &Locale)
Locale for the
default break labels (number marks, month names, date formats), unless
the scale already has its own. Called by the plot builder when
GGPlot::locale is set. Default: ignored
(scales without numeric/date labels).Source§fn locale(&self) -> Option<&Locale>
fn locale(&self) -> Option<&Locale>
Source§fn format_value(&self, value: &Value) -> Option<String>
fn format_value(&self, value: &Value) -> Option<String>
value for a
per-mark attribute (data-fvalue/data-fx, B2-4) or a tooltip
template placeholder — e.g. a de-DE currency string, or a datetime
x’s ISO/locale date, independent of how the axis itself abbreviates
its break labels. None for a missing/non-finite value, or a scale
with nothing meaningful to format (default: every scale except
continuous position/size/linewidth and datetime/colour-continuous,
which override this).Source§fn map(&self, value: &Value) -> f64
fn map(&self, value: &Value) -> f64
Source§fn map_to_color(&self, value: &Value) -> Option<(u8, u8, u8)>
fn map_to_color(&self, value: &Value) -> Option<(u8, u8, u8)>
Source§fn domain(&self) -> Option<(f64, f64)>
fn domain(&self) -> Option<(f64, f64)>
Source§fn reset_training(&mut self)
fn reset_training(&mut self)
Source§fn validate(&self, warnings: &mut Vec<String>)
fn validate(&self, warnings: &mut Vec<String>)
map/map_to_size run per mark at draw time and have no such
access, so a scale-level problem must be reported here instead.
Default: no-op.Source§fn is_discrete(&self) -> bool
fn is_discrete(&self) -> bool
Source§fn map_to_shape(&self, _value: &Value) -> Option<PointShape>
fn map_to_shape(&self, _value: &Value) -> Option<PointShape>
Source§fn map_to_linetype(&self, _value: &Value) -> Option<Linetype>
fn map_to_linetype(&self, _value: &Value) -> Option<Linetype>
Source§fn map_to_size(&self, _value: &Value) -> Option<f64>
fn map_to_size(&self, _value: &Value) -> Option<f64>
Source§fn map_to_alpha(&self, _value: &Value) -> Option<f64>
fn map_to_alpha(&self, _value: &Value) -> Option<f64>
Source§fn set_limits(&mut self, _min: f64, _max: f64)
fn set_limits(&mut self, _min: f64, _max: f64)
Source§fn filter_limits(&self) -> Option<(f64, f64)>
fn filter_limits(&self) -> Option<(f64, f64)>
Source§fn expanded_domain(&self) -> Option<(f64, f64)>
fn expanded_domain(&self) -> Option<(f64, f64)>
None for discrete / untrained / non-position scales.Source§fn axis_position_opposite(&self) -> bool
fn axis_position_opposite(&self) -> bool
Source§fn set_expand(&mut self, _mult: f64, _add: f64)
fn set_expand(&mut self, _mult: f64, _add: f64)
expand = c(mult, add)), applied symmetrically to both ends. Used by
CoordSf::train_scales (expand(false) passes (0.0, 0.0)) to pin
an explicit xlim/ylim to the panel exactly. Default: no-op
(discrete / non-position scales have no expansion to set).Source§fn map_fraction_to_size(&self, _fraction: f64) -> Option<f64>
fn map_fraction_to_size(&self, _fraction: f64) -> Option<f64>
[0, 1] scale fraction (as returned
alongside each label by breaks) directly to an
output size, bypassing the round trip through map — a
discrete-style legend key only has the break’s rendered label, not
its original data value, so a continuous scale can’t recover the
fraction by re-mapping the label text. Default: None.Source§fn map_fraction_to_alpha(&self, _fraction: f64) -> Option<f64>
fn map_fraction_to_alpha(&self, _fraction: f64) -> Option<f64>
[0, 1] scale fraction directly to an output
alpha (opacity), the map_fraction_to_size
equivalent for a continuous alpha scale’s discrete-style legend keys —
see that method’s doc for why the fraction, not the label, is the
input. Default: None.Auto Trait Implementations§
impl Freeze for ScaleColorGradientN
impl RefUnwindSafe for ScaleColorGradientN
impl Send for ScaleColorGradientN
impl Sync for ScaleColorGradientN
impl Unpin for ScaleColorGradientN
impl UnsafeUnpin for ScaleColorGradientN
impl UnwindSafe for ScaleColorGradientN
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
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> ⓘ
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> ⓘ
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