pub struct AreaChart<T, X, Y>{ /* private fields */ }Implementations§
Source§impl<T, X, Y> AreaChart<T, X, Y>
impl<T, X, Y> AreaChart<T, X, Y>
pub fn new<I>(data: I) -> Selfwhere
I: IntoIterator<Item = T>,
Sourcepub fn id(self, id: impl Into<ElementId>) -> Self
pub fn id(self, id: impl Into<ElementId>) -> Self
Name this chart’s ElementId, replacing the default taken from the
construction site.
Pass one where a single construction site renders several of these charts as siblings: they share the default id, and with it one hover state and one path cache. The id must be unique among those siblings.
Sourcepub fn interactive(self, interactive: bool) -> Self
pub fn interactive(self, interactive: bool) -> Self
Turn this chart’s interactive layer on or off. On by default.
The layer is the hitbox under the cursor and what it drives: a crosshair and a dot per series mark the hovered point, and a tooltip shows a row each. Turn it off for a chart that only decorates, or one an element above it wants the cursor for: without a hitbox it neither answers the mouse nor takes the hover from what sits over it. A chart that is off also drops its path cache, which is keyed on the same id.
Sourcepub fn name(self, name: impl Into<SharedString>) -> Self
pub fn name(self, name: impl Into<SharedString>) -> Self
Set the name of the most recently added series, shown in its tooltip row.
Call after the matching AreaChart::y (e.g. .y(..).stroke(..).name("Desktop")).
Sourcepub fn tooltip_title(self, title: impl Fn(&T) -> SharedString + 'static) -> Self
pub fn tooltip_title(self, title: impl Fn(&T) -> SharedString + 'static) -> Self
Set the hover tooltip’s title for a datum, instead of its x value.
Sourcepub fn tooltip_value(
self,
value: impl Fn(&T, usize, f64) -> SharedString + 'static,
) -> Self
pub fn tooltip_value( self, value: impl Fn(&T, usize, f64) -> SharedString + 'static, ) -> Self
Set the text of each tooltip row’s value; the raw number by default.
The closure receives the datum, the row’s index (the series’ index in the order y added
them) and the value the row reads.
Sourcepub fn tooltip_value_color<H>(
self,
color: impl Fn(&T, usize, f64) -> H + 'static,
) -> Self
pub fn tooltip_value_color<H>( self, color: impl Fn(&T, usize, f64) -> H + 'static, ) -> Self
Color each tooltip row’s value, such as green or red by its sign; the tooltip’s text color by default.
The closure receives the same arguments as
tooltip_value.
Sourcepub fn tooltip_content<E>(
self,
content: impl Fn(&T, &mut Window, &mut App) -> E + 'static,
) -> Selfwhere
E: IntoElement,
pub fn tooltip_content<E>(
self,
content: impl Fn(&T, &mut Window, &mut App) -> E + 'static,
) -> Selfwhere
E: IntoElement,
Draw the tooltip box’s content for a datum yourself, in place of the title and rows, for a layout they cannot express such as a table.
The crosshair, the dots and where the box sits stay the chart’s, and
tooltip_title, tooltip_value
and tooltip_value_color no longer apply.
pub fn x(self, x: impl Fn(&T) -> X + 'static) -> Self
pub fn y(self, y: impl Fn(&T) -> Y + 'static) -> Self
pub fn stroke(self, stroke: impl Into<Hsla>) -> Self
pub fn fill(self, fill: impl Into<Background>) -> Self
pub fn natural(self) -> Self
pub fn linear(self) -> Self
pub fn step_after(self) -> Self
pub fn tick_margin(self, tick_margin: usize) -> Self
Sourcepub fn x_axis(self, x_axis: bool) -> Self
pub fn x_axis(self, x_axis: bool) -> Self
Show or hide the x-axis line and labels.
Default is true.
pub fn grid(self, grid: bool) -> Self
Sourcepub fn y_domain(self, min: Y, max: Y) -> Self
pub fn y_domain(self, min: Y, max: Y) -> Self
Pin the y axis to min..=max instead of fitting every series from zero.
Pin it where zero is not a meaningful baseline, such as a price line
that would otherwise be pressed flat against the top. The range keeps
the y_padding headroom above max, 10px by default,
and the series are clipped to the plot, so a value outside the range
stops at its edge. Nothing is drawn when min equals max.
Sourcepub fn point_count(self, count: usize) -> Self
pub fn point_count(self, count: usize) -> Self
Lay the x axis out for count evenly spaced points instead of the
data’s own length.
The data takes the leading points in order, the i-th item on the i-th
point, and the rest stay empty, as an intraday chart does before the
close. The data has to be contiguous from the first point: a missing
item shifts every later one a point to the left. A count below the
data’s length has no effect.
Sourcepub fn y_axis(self, y_axis: bool) -> Self
pub fn y_axis(self, y_axis: bool) -> Self
Show the y axis’s tick labels, one at each of the y_tick_count ticks.
Default is false.
Sourcepub fn y_axis_label_placement(self, placement: AxisLabelPlacement) -> Self
pub fn y_axis_label_placement(self, placement: AxisLabelPlacement) -> Self
Set where the y-axis tick labels sit: in a gutter left of the plot, or inside it beside their grid lines.
Default is AxisLabelPlacement::Outside.
Sourcepub fn y_tick_count(self, count: usize) -> Self
pub fn y_tick_count(self, count: usize) -> Self
Set how many ticks the y axis carries, evenly spaced from the baseline to the top edge with both ends included.
The ticks place the horizontal grid lines and the tick labels, and each label reads the value the scale puts at its height. Values below 2 are raised to 2.
Default is 5.
Sourcepub fn y_tick_format<S>(self, format: impl Fn(f64) -> S + 'static) -> Selfwhere
S: Into<SharedString> + 'static,
pub fn y_tick_format<S>(self, format: impl Fn(f64) -> S + 'static) -> Selfwhere
S: Into<SharedString> + 'static,
Set the text of each y-axis tick label from the value at its tick.
Sourcepub fn x_tick_count(self, count: usize) -> Self
pub fn x_tick_count(self, count: usize) -> Self
Label count of the x values, spread evenly from the first to the
last, instead of every tick_margin-th.
With Self::point_count set, the labels spread over all the points the
axis is laid out for, so they keep their places as the data grows; one
that falls past the data is not drawn yet.
Sourcepub fn grid_columns(self, count: usize) -> Self
pub fn grid_columns(self, count: usize) -> Self
Divide the plot into count columns with vertical grid lines, the first
on its left edge.
Default is 0, no vertical lines.
Sourcepub fn grid_dashed(self, dashed: bool) -> Self
pub fn grid_dashed(self, dashed: bool) -> Self
Draw the grid dashed or solid.
Default is true.
Sourcepub fn reference_line(self, value: Y) -> Self
pub fn reference_line(self, value: Y) -> Self
Draw a dashed line across the plot at value, such as a previous close.
Call again for more lines. A value outside the y axis is not drawn.
Trait Implementations§
Source§impl<T, X, Y> IntoElement for AreaChart<T, X, Y>
impl<T, X, Y> IntoElement for AreaChart<T, X, Y>
Source§type Element = PlotElement<AreaChart<T, X, Y>>
type Element = PlotElement<AreaChart<T, X, Y>>
Source§fn into_element(self) -> Self::Element
fn into_element(self) -> Self::Element
Element.Source§fn into_any_element(self) -> AnyElement
fn into_any_element(self) -> AnyElement
AnyElement.Source§impl<T, X, Y> Plot for AreaChart<T, X, Y>
impl<T, X, Y> Plot for AreaChart<T, X, Y>
Source§fn prepaint(
&mut self,
bounds: Bounds<Pixels>,
window: &mut Window,
_cx: &mut App,
) -> Vec<AnyElement>
fn prepaint( &mut self, bounds: Bounds<Pixels>, window: &mut Window, _cx: &mut App, ) -> Vec<AnyElement>
fn paint(&mut self, bounds: Bounds<Pixels>, window: &mut Window, cx: &mut App)
Source§fn id(&self) -> Option<ElementId>
fn id(&self) -> Option<ElementId>
Source§fn tooltip_state(
&self,
position: Point<Pixels>,
bounds: Bounds<Pixels>,
_cx: &App,
) -> Option<TooltipState>
fn tooltip_state( &self, position: Point<Pixels>, bounds: Bounds<Pixels>, _cx: &App, ) -> Option<TooltipState>
Source§fn tooltip(
&self,
state: &TooltipState,
cursor: Point<Pixels>,
bounds: Bounds<Pixels>,
window: &mut Window,
cx: &mut App,
) -> Option<AnyElement>
fn tooltip( &self, state: &TooltipState, cursor: Point<Pixels>, bounds: Bounds<Pixels>, window: &mut Window, cx: &mut App, ) -> Option<AnyElement>
TooltipState. Read moreAuto Trait Implementations§
impl<T, X, Y> !RefUnwindSafe for AreaChart<T, X, Y>
impl<T, X, Y> !Send for AreaChart<T, X, Y>
impl<T, X, Y> !Sync for AreaChart<T, X, Y>
impl<T, X, Y> !UnwindSafe for AreaChart<T, X, Y>
impl<T, X, Y> Freeze for AreaChart<T, X, Y>
impl<T, X, Y> Unpin for AreaChart<T, X, Y>
impl<T, X, Y> UnsafeUnpin for AreaChart<T, X, Y>where
Vec<T>: UnsafeUnpin,
Option<Rc<dyn Fn(&T) -> X>>: UnsafeUnpin,
Vec<Rc<dyn Fn(&T) -> Y>>: UnsafeUnpin,
TooltipContent<T>: UnsafeUnpin,
Option<(Y, Y)>: UnsafeUnpin,
Blanket Implementations§
Source§impl<E> AnimationExt for Ewhere
E: IntoElement + 'static,
impl<E> AnimationExt for Ewhere
E: IntoElement + 'static,
Source§fn with_animation(
self,
id: impl Into<ElementId>,
animation: Animation,
animator: impl Fn(Self, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
fn with_animation(
self,
id: impl Into<ElementId>,
animation: Animation,
animator: impl Fn(Self, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
Source§fn with_animations(
self,
id: impl Into<ElementId>,
animations: Vec<Animation>,
animator: impl Fn(Self, usize, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
fn with_animations(
self,
id: impl Into<ElementId>,
animations: Vec<Animation>,
animator: impl Fn(Self, usize, f32) -> Self + 'static,
) -> AnimationElement<Self>where
Self: Sized,
Source§fn with_spring<T>(
self,
id: impl Into<ElementId>,
animation: SpringAnimation<T>,
animator: impl FnOnce(Self, <T as SpringTarget>::Output) -> Self + 'static,
) -> SpringAnimationElement<Self>
fn with_spring<T>( self, id: impl Into<ElementId>, animation: SpringAnimation<T>, animator: impl FnOnce(Self, <T as SpringTarget>::Output) -> Self + 'static, ) -> SpringAnimationElement<Self>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FluentBuilder for Twhere
T: IntoElement,
impl<T> FluentBuilder for Twhere
T: IntoElement,
Source§fn map<U>(self, f: impl FnOnce(Self) -> U) -> Uwhere
Self: Sized,
fn map<U>(self, f: impl FnOnce(Self) -> U) -> Uwhere
Self: Sized,
Source§fn when(self, condition: bool, then: impl FnOnce(Self) -> Self) -> Selfwhere
Self: Sized,
fn when(self, condition: bool, then: impl FnOnce(Self) -> Self) -> Selfwhere
Self: Sized,
Source§fn when_else(
self,
condition: bool,
then: impl FnOnce(Self) -> Self,
else_fn: impl FnOnce(Self) -> Self,
) -> Selfwhere
Self: Sized,
fn when_else(
self,
condition: bool,
then: impl FnOnce(Self) -> Self,
else_fn: impl FnOnce(Self) -> Self,
) -> Selfwhere
Self: Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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