Skip to main content

GeomErrorbar

Struct GeomErrorbar 

Source
pub struct GeomErrorbar {
    pub color: (u8, u8, u8),
    pub width: f64,
    pub cap_width: f64,
    pub alpha: f64,
}
Expand description

Error bar geometry — vertical bars with whisker caps.

Fields§

§color: (u8, u8, u8)§width: f64§cap_width: f64§alpha: f64

Trait Implementations§

Source§

impl Default for GeomErrorbar

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Geom for GeomErrorbar

Source§

fn draw( &self, data: &DataFrame, coord: &dyn Coord, scales: &ScaleSet, _theme: &Theme, backend: &mut dyn DrawBackend, ) -> Result<(), RenderError>

Draw this geometry.
Source§

fn required_aes(&self) -> Vec<Aesthetic>

Required aesthetics.
Source§

fn default_stat(&self) -> Box<dyn Stat>

Default stat for this geom.
Source§

fn default_position(&self) -> Box<dyn Position>

Default position adjustment.
Source§

fn default_params(&self) -> GeomParams

Non-mapped visual defaults.
Source§

fn name(&self) -> &str

Name for debug/display.
Source§

fn apply_element_geom(&mut self, el: &ElementGeom)

Recolour this geom’s built-in default colour/fill from the theme’s ink/paper/accent palette (B2-7’s element_geom), called once per layer before set_series_color — and only when the layer was not configured explicitly (geom_*_with(...); the build pipeline gates the call on the same explicit_style flag set_series_color’s brand-colour application is gated on). That gate, not a field-value comparison, is what keeps an explicit colour untouched: a geom that honours this replaces a field still at its own hard-coded default (black/(50, 50, 50) → ink, white → paper) by comparing its value, which cannot by itself tell an explicitly-set colour that happens to equal that default (e.g. GeomPoint { color: (0, 0, 0), .. } under geom_point_with) apart from one that was simply never touched — only skipping the call entirely for an explicitly-configured layer closes that gap (review PR#141 finding 4). Default no-op; None fields of ElementGeom change nothing, so the default theme (no ink/paper/accent set) stays byte-identical.
Source§

fn set_series_color(&mut self, color: (u8, u8, u8))

Apply a brand/primary color to this geom’s single-series default (its color or fill). The build pipeline calls this only when the layer has no color/fill aesthetic mapped, so an explicit mapping always wins. The default is a no-op; series geoms override it.
Source§

fn include_zero_baseline(&self) -> bool

Whether this geom draws from a 0 baseline, so the Y scale should include 0 even when y is explicitly mapped (bars/columns/area/histograms — as in ggplot2). Default false.
Source§

fn allows_infinite(&self) -> bool

Whether -Inf/Inf position values are meaningful for this geom (ggplot2: “extend to the panel edge”). Rows with infinite positions are otherwise dropped with a warning before stats run. NaN is always dropped — unless Geom::keeps_na_as_break says otherwise. Default false; geom_rect returns true.
Source§

fn keeps_na_as_break(&self) -> bool

Whether a row with a non-finite position is a break rather than a removal (ggplot2’s GeomPath/GeomLine NA handling): the row still counts toward the “removed N rows” warning, but it is not deleted from the built DataFrame, so the geom’s own per-group point list still contains it — as a non-finite pixel position after the scale and coordinate transform, which crate::render::backend::DrawBackend::draw_line splits on into separate polylines (ggplot2’s NA-break semantics) instead of silently joining the finite points across the gap. Default false (the row is dropped, as for every other geom); line/path/step return true.
Source§

fn consumes_tooltips(&self) -> bool

Whether this geom calls [set_row_extras] (so it reads Aes::tooltip and Aes::data_attr, and a GGPlot::tooltip template on it has a visible effect). Default false; the build pipeline warns when a tooltip() template is set on a layer whose geom returns false here (review PR#141 finding 6, LOW: a template silently did nothing on e.g. geom_area/geom_boxplot/geom_ribbon). Point, segment, curve, path, line, hex, polygon, sf, rect/tile and col/bar/ histogram return true.
Source§

fn setup_data(&self, _data: &mut DataFrame, _warnings: &mut Vec<String>)

Geom-specific data preparation after the stat and position steps but before scale training (ggplot2’s GeomX$setup_data) — e.g. a tile adds its xmin/xmax/ymin/ymax extents so continuous scales train on them. warnings is the layer’s own build-warnings sink (B3-5: added so GeomBoxplot can warn on an unparsable outlier value here, the same channel every other build warning uses — never eprintln!). Default: no-op.
Source§

fn inherit_aes(&self) -> bool

Whether the layer inherits the plot-level aesthetic mapping (ggplot2’s inherit.aes). Reference-line geoms return false, as in ggplot2, so a plot-level color/x/y mapping does not leak into a geom_hline. Default true.
Source§

fn mapped_only_columns(&self) -> &'static [&'static str]

Canonical column names this geom only reads when the user actually mapped the corresponding aesthetic (D3, B3-5) — never from a raw column that merely happens to share the name (e.g. a SQL alias literally called lower). build_layer drops any of these columns right after resolve_mappings unless the aesthetic was mapped. Default empty; GeomBoxplot returns ["lower", "middle", "upper", "outliers"].
Source§

fn validate_layer( &self, _pre_stat_columns: &[String], _stat_name: &str, ) -> Result<(), String>

Stat-dependent layer validation beyond required_aes (B3-5): called once per layer with the resolved (pre-stat, post-D3-drop) column names and the layer’s stat name, before the stat runs. Default no-op. GeomBoxplot requires lower/middle/upper to be mapped under stat="identity", else y.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V