pub struct ScaleContinuous { /* private fields */ }Expand description
Continuous linear scale.
Implementations§
Source§impl ScaleContinuous
impl ScaleContinuous
pub fn new() -> Self
pub fn for_aesthetic(self, aes: Aesthetic) -> Self
pub fn with_name(self, name: &str) -> Self
pub fn with_limits(self, min: f64, max: f64) -> Self
pub fn with_transform(self, transform: ScaleTransform) -> Self
Sourcepub fn with_breaks(self, breaks: Vec<f64>) -> Self
pub fn with_breaks(self, breaks: Vec<f64>) -> Self
Set custom break positions (data values where ticks appear).
Sourcepub fn with_labels(self, labels: Vec<String>) -> Self
pub fn with_labels(self, labels: Vec<String>) -> Self
Set custom labels for breaks. Must match the number of breaks.
Sourcepub fn with_localized_labels<F>(self, f: F) -> Self
pub fn with_localized_labels<F>(self, f: F) -> Self
Labels for the custom breaks that depend on the locale (month or
weekday names): f gets the scale’s locale — the plot’s
GGPlot::locale unless set on the
scale — or None. Takes precedence over with_labels.
Sourcepub fn with_expand(self, mult: f64, add: f64) -> Self
pub fn with_expand(self, mult: f64, add: f64) -> Self
Set the expansion multiplier and additive constant.
Like R’s expand = c(mult, add), applied symmetrically. Default (0.05, 0.0).
Sourcepub fn with_expand_sides(
self,
mult_lower: f64,
add_lower: f64,
mult_upper: f64,
add_upper: f64,
) -> Self
pub fn with_expand_sides( self, mult_lower: f64, add_lower: f64, mult_upper: f64, add_upper: f64, ) -> Self
Per-side expansion (R’s expansion(mult = c(l, u), add = c(l, u))):
separate multiplicative/additive expansion for the lower and upper ends.
Sourcepub fn with_position_opposite(self) -> Self
pub fn with_position_opposite(self) -> Self
Place this axis on the opposite side (x → top, y → right).
Sourcepub fn with_label_formatter<F>(self, f: F) -> Self
pub fn with_label_formatter<F>(self, f: F) -> Self
Set a label formatter. Accepts a plain fn (e.g. label_comma) or a
configurable formatter such as label_si() / label_number(...).
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 or tooltip-template value — distinct from
with_label_formatter, which only
affects axis break labels. Falls back to the label formatter, then
the locale default, when unset.
Sourcepub fn with_locale(self, locale: Locale) -> Self
pub fn with_locale(self, locale: Locale) -> Self
Render the default break labels with locale’s decimal and thousands
marks (1.000, 2,5 in de-DE). Overrides the plot locale
(GGPlot::locale); a custom
with_label_formatter still wins.
Sourcepub fn with_sec_axis(self, sec: SecAxis) -> Self
pub fn with_sec_axis(self, sec: SecAxis) -> Self
Add a secondary axis with a transformation function.
Sourcepub fn is_opposite(&self) -> bool
pub fn is_opposite(&self) -> bool
Whether this axis should be drawn on the opposite side (x → top, y → right).
Trait Implementations§
Source§impl Clone for ScaleContinuous
impl Clone for ScaleContinuous
Source§impl Default for ScaleContinuous
impl Default for ScaleContinuous
Source§impl Scale for ScaleContinuous
impl Scale for ScaleContinuous
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 expanded_domain(&self) -> Option<(f64, f64)>
fn expanded_domain(&self) -> Option<(f64, f64)>
None for discrete / untrained / non-position scales.Source§fn set_limits(&mut self, min: f64, max: f64)
fn set_limits(&mut self, min: f64, max: f64)
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 filter_limits(&self) -> Option<(f64, f64)>
fn filter_limits(&self) -> Option<(f64, f64)>
Source§fn domain(&self) -> Option<(f64, f64)>
fn domain(&self) -> Option<(f64, f64)>
Source§fn axis_position_opposite(&self) -> bool
fn axis_position_opposite(&self) -> bool
Source§fn reset_training(&mut self)
fn reset_training(&mut self)
Source§fn is_discrete(&self) -> bool
fn is_discrete(&self) -> bool
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 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 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.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.Auto Trait Implementations§
impl !RefUnwindSafe for ScaleContinuous
impl !UnwindSafe for ScaleContinuous
impl Freeze for ScaleContinuous
impl Send for ScaleContinuous
impl Sync for ScaleContinuous
impl Unpin for ScaleContinuous
impl UnsafeUnpin for ScaleContinuous
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