Skip to main content

SankeyChart

Struct SankeyChart 

Source
pub struct SankeyChart { /* private fields */ }
Expand description

How much flows from what to what. Each flow names its two ends, and nodes are created as they are named. Ribbons go from the color of their source to that of their target; under the pointer or with the arrow keys, what is connected stands out and the tooltip says how much. A screen reader hears every flow.

If the flows go in a circle there is no way to draw them, and it says which nodes the circle goes through, in place of the diagram. Available with the charts feature, on by default.

use ravenrs_widgets::SankeyChart;

let budget = SankeyChart::new()
    .title("Budget")
    .flow("Salary", "Rent", 1200.0)
    .flow("Salary", "Food", 600.0)
    .flow("Salary", "Savings", 400.0)
    .flow("Savings", "Funds", 400.0);

Implementations§

Source§

impl SankeyChart

Source

pub fn new() -> SankeyChart

An empty diagram, 300 logical pixels tall, as wide as its parent allows.

Source

pub fn flow( self, source: impl Into<String>, target: impl Into<String>, value: f64, ) -> SankeyChart

So much flows from source to target. Nothing, or less, draws nothing.

Source

pub fn title(self, title: impl Into<String>) -> SankeyChart

A title above the diagram.

Source

pub fn alt(self, text: impl Into<String>) -> SankeyChart

Describes the diagram for screen readers, in place of its title. Its flows are read after it.

Source

pub fn height(self, height: f32) -> SankeyChart

Height in logical pixels (default 300).

Source

pub fn size(self, width: f32, height: f32) -> SankeyChart

Fixed size in logical pixels.

Source

pub fn align(self, align: SankeyAlign) -> SankeyChart

Which column a node goes to, among those its flows allow.

Source

pub fn format(self, format: impl Fn(f64) -> String + 'static) -> SankeyChart

How numbers are written (at most two decimals by default).

Source

pub fn node_color(self, name: impl Into<String>, color: Semantic) -> SankeyChart

Gives this node a color of the theme, in place of the next chart color.

Source

pub fn no_gradient(self) -> SankeyChart

Ribbons in the color of their source, instead of going to that of their target.

Source

pub fn hide_tooltip(self) -> SankeyChart

Says nothing under the pointer and takes no keyboard focus.

Source

pub fn no_appear(self) -> SankeyChart

The flows are whole from the first frame, instead of drawing in from the left the first time the chart is painted.

Source

pub fn appear_key(self, key: impl Hash) -> SankeyChart

Draws the flows in again whenever key changes.

Trait Implementations§

Source§

impl Clone for SankeyChart

Source§

fn clone(&self) -> SankeyChart

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SankeyChart

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for SankeyChart

Source§

fn default() -> SankeyChart

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

impl View for SankeyChart

Source§

fn build(&self, cx: &mut BuildCx<'_>) -> NodeId

Creates this view’s node for the current build.
Source§

fn type_name(&self) -> &'static str

The name the diagnostics panel shows this view’s cost under.

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> AutoreleaseSafe for T
where T: ?Sized,

Source§

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

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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

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

§

fn vzip(self) -> V

Source§

impl<V> ViewExt for V
where V: View,

Source§

fn padding(self, padding: impl Into<Insets>) -> Styled<Self>

Adds padding inside the box, in logical pixels.
Source§

fn background(self, fill: impl Into<Fill>) -> Styled<Self>

Paints a background behind the content.
Source§

fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>

Fixes the width and/or height in logical pixels; None keeps the content size.
Source§

fn width(self, width: f32) -> Styled<Self>

Fixes the width in logical pixels.
Source§

fn height(self, height: f32) -> Styled<Self>

Fixes the height in logical pixels.
Source§

fn grow(self, grow: f32) -> Styled<Self>

Takes a share of the free space in the parent stack.
Source§

fn stretch(self) -> Styled<Self>

Stretches across the parent stack’s cross axis.
Source§

fn centered(self) -> Styled<Self>

Centers the content inside the box.
Source§

fn tooltip(self, text: impl Into<String>) -> Tooltip<Self>

Shows text above the view while the pointer is over it; see Tooltip.
Source§

fn opacity(self, opacity: f32) -> Faded<Self>

Draws the view and everything in it at this opacity, from 0.0 to 1.0, easing to it when it changes. Layout and input stay as they are; see Faded.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more