pub struct ScaleSizeContinuous { /* private fields */ }Expand description
Continuous size scale — maps data values to a point radius range.
Implementations§
Source§impl ScaleSizeContinuous
impl ScaleSizeContinuous
pub fn new() -> Self
pub fn with_range(self, min: f64, max: f64) -> Self
pub fn with_name(self, name: &str) -> Self
Sourcepub fn area(self, max_size: f64) -> Self
pub fn area(self, max_size: f64) -> Self
scale_size_area(max_size) (ggplot2): maps so that area — not
radius — is proportional to |value|, with 0 mapping to 0:
size = max_size · √(|value| / max(|lo|, |hi|)), where lo/hi
are the trained domain. A non-finite or non-positive max_size is
corrected to the ggplot2 default (6) by validate
and by the mapping itself.
Trait Implementations§
Source§impl Clone for ScaleSizeContinuous
impl Clone for ScaleSizeContinuous
Source§impl Debug for ScaleSizeContinuous
impl Debug for ScaleSizeContinuous
Source§impl Default for ScaleSizeContinuous
impl Default for ScaleSizeContinuous
Source§impl Scale for ScaleSizeContinuous
impl Scale for ScaleSizeContinuous
Source§fn map_fraction_to_size(&self, fraction: f64) -> Option<f64>
fn map_fraction_to_size(&self, fraction: f64) -> Option<f64>
#180: under scale_size_area (area_max set) this must use the
same area-proportional formula as map_to_size
— not the plain linear range — or a graduated-symbol legend’s
circles don’t match the radii the data itself draws at (a legend
key for “break at 50% of the domain” rendered at 50% of the
radius range, when the data point at that value is actually drawn
at max_size · √0.5 ≈ 71% of max_size, say).
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_size(&self, value: &Value) -> Option<f64>
fn map_to_size(&self, value: &Value) -> Option<f64>
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 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_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 domain(&self) -> Option<(f64, f64)>
fn domain(&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_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 ScaleSizeContinuous
impl RefUnwindSafe for ScaleSizeContinuous
impl Send for ScaleSizeContinuous
impl Sync for ScaleSizeContinuous
impl Unpin for ScaleSizeContinuous
impl UnsafeUnpin for ScaleSizeContinuous
impl UnwindSafe for ScaleSizeContinuous
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