pub struct ScaleColorContinuous { /* private fields */ }Expand description
Continuous gradient color scale.
Implementations§
Source§impl ScaleColorContinuous
impl ScaleColorContinuous
pub fn new(aesthetic: Aesthetic) -> Self
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).
pub fn with_colors(self, low: RGBAColor, high: RGBAColor) -> Self
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] — e.g. (-1.0, 1.0) for a
correlation matrix — instead of whatever the data happens to span.
Out-of-range values follow with_oob (default:
na_value, not the geom’s own default colour).
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, ggplot2’s own 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).
pub fn color_at(&self, t: f64) -> RGBAColor
Trait Implementations§
Source§impl Clone for ScaleColorContinuous
impl Clone for ScaleColorContinuous
Source§impl Debug for ScaleColorContinuous
impl Debug for ScaleColorContinuous
Source§impl Scale for ScaleColorContinuous
impl Scale for ScaleColorContinuous
Source§fn set_default_locale(&mut self, locale: &Locale)
fn set_default_locale(&mut self, locale: &Locale)
Adopt a plot-level default
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>
The locale this scale’s default labels are rendered with, if any.
Source§fn format_value(&self, value: &Value) -> Option<String>
fn format_value(&self, value: &Value) -> Option<String>
Format a single raw (pre-scale-transform) data
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
Map a data value to a [0, 1] normalized position (position scales)
or to a concrete visual value index (color/size scales).
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 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 reset_training(&mut self)
fn reset_training(&mut self)
Reset training state so the scale can be retrained on new data.
Source§fn validate(&self, warnings: &mut Vec<String>)
fn validate(&self, warnings: &mut Vec<String>)
Validate this scale’s configuration once training is complete (e.g.
a transform undefined at the domain’s own limits) and push a
human-readable warning for each problem found. Called once per scale
after the final training pass, with the plot’s warnings sink —
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
Whether this is a discrete scale.
Source§fn na_fill_pattern(&self) -> Option<FillPattern>
fn na_fill_pattern(&self) -> Option<FillPattern>
A pattern fill for a value this scale draws with its flat
na
colour (Value::Na, or whatever else a scale treats that way) —
ScaleFillBinned::na_pattern (#206) is the only implementor so
far. Default None: the flat colour from
map_to_color wins, unchanged. A geom that
draws filled areas (geom_sf/geom_polygon/geom_rect/
geom_tile) checks this before falling back to map_to_color’s
na-colour branch, and the legend’s “no data” key checks it too.Source§fn is_na_break(&self, _label: &str) -> bool
fn is_na_break(&self, _label: &str) -> bool
Whether
label (a breaks label) is this scale’s
“no data” legend key, so the legend draws that one key with
na_fill_pattern instead of its ordinary
flat swatch colour. Default false (no scale without an na key
needs this). ScaleFillBinned overrides it.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 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).
Source§fn set_expand(&mut self, _mult: f64, _add: f64)
fn set_expand(&mut self, _mult: f64, _add: f64)
Set the expansion multiplier/additive constant (R’s
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>
Map an already-computed
[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>
Map an already-computed
[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 ScaleColorContinuous
impl RefUnwindSafe for ScaleColorContinuous
impl Send for ScaleColorContinuous
impl Sync for ScaleColorContinuous
impl Unpin for ScaleColorContinuous
impl UnsafeUnpin for ScaleColorContinuous
impl UnwindSafe for ScaleColorContinuous
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