pub struct Sparkline<Msg> { /* private fields */ }Expand description
A compact trend: one column per value, newest on the right, measured in eighths of a cell.
Columns scale from the lowest to the highest value shown, or over a fixed range. Every value keeps at least one eighth so a quiet moment still reads as a sample. ASCII mode has no partial blocks: whole cells fill with colour and the cell a column ends in takes the share of colour it covers, so even the lowest sample tints one cell. When the series is wider than the area, the newest values are kept. Give the node a height for taller columns.
With Sparkline::on_read a point can be read off the chart: pressing or dragging over the
columns reads the one under the pointer, and while focused ←/→ move one point, Home and End
jump to the oldest and the newest shown, and Esc stops reading. The message carries the
position in the values given, so the application writes the value itself; the application owns
which point is being read (Sparkline::reading). The read column rises to a tone band of its
own and is drawn in the accent, the hovered column’s band is one hover step brighter than the
ground, and nothing moves: bands and columns stay in their cells.
Style keys: sparkline (fg for the columns, peak and low for the highlighted extremes,
reading for the column being read, baseline for the tone band of a reference value,
track for the ground in ASCII mode).
Implementations§
Source§impl<Msg: 'static> Sparkline<Msg>
impl<Msg: 'static> Sparkline<Msg>
Sourcepub fn new(values: impl IntoIterator<Item = f32>) -> Self
pub fn new(values: impl IntoIterator<Item = f32>) -> Self
A sparkline of values, oldest first.
Sourcepub fn range(self, min: f32, max: f32) -> Self
pub fn range(self, min: f32, max: f32) -> Self
Scales columns over min..max instead of the values shown, e.g. 0.0..100.0 for percent.
Sourcepub fn highlight_extremes(self) -> Self
pub fn highlight_extremes(self) -> Self
Colours the highest and the lowest column shown.
Sourcepub fn baseline(self, value: f32) -> Self
pub fn baseline(self, value: f32) -> Self
Tints the cells at the level of value, such as a limit or an average, with a quiet band.
Trait Implementations§
Source§impl<Msg: 'static> Widget<Msg> for Sparkline<Msg>
impl<Msg: 'static> Widget<Msg> for Sparkline<Msg>
Source§fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
fn measure(&self, _cx: &mut MeasureCx<'_>, available: Size) -> Size
available.Source§fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool
fn event(&self, cx: &mut EventCx<'_, Msg>, event: &Event) -> bool
true when the event was used; unused key and scroll events
bubble to the parent widget.Source§fn paint_overlay(&self, _cx: &mut PaintCx<'_>, _anchor: Rect)
fn paint_overlay(&self, _cx: &mut PaintCx<'_>, _anchor: Rect)
PaintCx::request_overlay. anchor is the area the widget was painted in.Source§fn children_mut(&mut self) -> &mut [Node<Msg>]
fn children_mut(&mut self) -> &mut [Node<Msg>]
Auto Trait Implementations§
impl<Msg> !RefUnwindSafe for Sparkline<Msg>
impl<Msg> !Send for Sparkline<Msg>
impl<Msg> !Sync for Sparkline<Msg>
impl<Msg> !UnwindSafe for Sparkline<Msg>
impl<Msg> Freeze for Sparkline<Msg>
impl<Msg> Unpin for Sparkline<Msg>
impl<Msg> UnsafeUnpin for Sparkline<Msg>
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> 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