ratatui::widgets

Struct Dataset

Source
pub struct Dataset<'a> { /* private fields */ }
Expand description

A group of data points

This is the main element composing a Chart.

A dataset can be named. Only named datasets will be rendered in the legend.

After that, you can pass it data with Dataset::data. Data is an array of f64 tuples ((f64, f64)), the first element being X and the second Y. It’s also worth noting that, unlike the Rect, here the Y axis is bottom to top, as in math.

You can also customize the rendering by using Dataset::marker and Dataset::graph_type.

§Example

This example draws a red line between two points.

use ratatui::{
    style::Stylize,
    symbols::Marker,
    widgets::{Dataset, GraphType},
};

let dataset = Dataset::default()
    .name("dataset 1")
    .data(&[(1., 1.), (5., 5.)])
    .marker(Marker::Braille)
    .graph_type(GraphType::Line)
    .red();

Implementations§

Source§

impl<'a> Dataset<'a>

Source

pub fn name<S>(self, name: S) -> Self
where S: Into<Line<'a>>,

Sets the name of the dataset

The dataset’s name is used when displaying the chart legend. Datasets don’t require a name and can be created without specifying one. Once assigned, a name can’t be removed, only changed

The name can be styled (see Line for that), but the dataset’s style will always have precedence.

This is a fluent setter method which must be chained or used as it consumes self

Source

pub const fn data(self, data: &'a [(f64, f64)]) -> Self

Sets the data points of this dataset

Points will then either be rendered as scattered points or with lines between them depending on Dataset::graph_type.

Data consist in an array of f64 tuples ((f64, f64)), the first element being X and the second Y. It’s also worth noting that, unlike the Rect, here the Y axis is bottom to top, as in math.

This is a fluent setter method which must be chained or used as it consumes self

Source

pub const fn marker(self, marker: Marker) -> Self

Sets the kind of character to use to display this dataset

You can use dots (), blocks (), bars (), braille (, , ) or half-blocks (, , and ). See symbols::Marker for more details.

Note Marker::Braille requires a font that supports Unicode Braille Patterns.

This is a fluent setter method which must be chained or used as it consumes self

Source

pub const fn graph_type(self, graph_type: GraphType) -> Self

Sets how the dataset should be drawn

Chart can draw scatter, line or bar charts. A scatter chart draws only the points in the dataset, a line char draws a line between each point, and a bar chart draws a line from the x axis to the point. See GraphType for more details

This is a fluent setter method which must be chained or used as it consumes self

Source

pub fn style<S: Into<Style>>(self, style: S) -> Self

Sets the style of this dataset

The given style will be used to draw the legend and the data points. Currently the legend will use the entire style whereas the data points will only use the foreground.

style accepts any type that is convertible to Style (e.g. Style, Color, or your own type that implements Into<Style>).

This is a fluent setter method which must be chained or used as it consumes self

§Example

Dataset also implements Stylize which mean you can style it like so

use ratatui::{style::Stylize, widgets::Dataset};

let dataset = Dataset::default().red();

Trait Implementations§

Source§

impl<'a> Clone for Dataset<'a>

Source§

fn clone(&self) -> Dataset<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Dataset<'a>

Source§

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

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

impl<'a> Default for Dataset<'a>

Source§

fn default() -> Dataset<'a>

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

impl<'a> PartialEq for Dataset<'a>

Source§

fn eq(&self, other: &Dataset<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Styled for Dataset<'a>

Source§

type Item = Dataset<'a>

Source§

fn style(&self) -> Style

Returns the style of the object.
Source§

fn set_style<S: Into<Style>>(self, style: S) -> Self::Item

Sets the style of the object. Read more
Source§

impl<'a> StructuralPartialEq for Dataset<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Dataset<'a>

§

impl<'a> RefUnwindSafe for Dataset<'a>

§

impl<'a> Send for Dataset<'a>

§

impl<'a> Sync for Dataset<'a>

§

impl<'a> Unpin for Dataset<'a>

§

impl<'a> UnwindSafe for Dataset<'a>

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> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<'a, T, U> Stylize<'a, T> for U
where U: Styled<Item = T>,

Source§

fn bg<C>(self, color: C) -> T
where C: Into<Color>,

Source§

fn fg<C>(self, color: C) -> T
where C: Into<Color>,

Source§

fn add_modifier(self, modifier: Modifier) -> T

Source§

fn remove_modifier(self, modifier: Modifier) -> T

Source§

fn reset(self) -> T

Source§

fn black(self) -> T

Sets the foreground color to black.
Source§

fn on_black(self) -> T

Sets the background color to black.
Source§

fn red(self) -> T

Sets the foreground color to red.
Source§

fn on_red(self) -> T

Sets the background color to red.
Source§

fn green(self) -> T

Sets the foreground color to green.
Source§

fn on_green(self) -> T

Sets the background color to green.
Source§

fn yellow(self) -> T

Sets the foreground color to yellow.
Source§

fn on_yellow(self) -> T

Sets the background color to yellow.
Source§

fn blue(self) -> T

Sets the foreground color to blue.
Source§

fn on_blue(self) -> T

Sets the background color to blue.
Source§

fn magenta(self) -> T

Sets the foreground color to magenta.
Source§

fn on_magenta(self) -> T

Sets the background color to magenta.
Source§

fn cyan(self) -> T

Sets the foreground color to cyan.
Source§

fn on_cyan(self) -> T

Sets the background color to cyan.
Source§

fn gray(self) -> T

Sets the foreground color to gray.
Source§

fn on_gray(self) -> T

Sets the background color to gray.
Source§

fn dark_gray(self) -> T

Sets the foreground color to dark_gray.
Source§

fn on_dark_gray(self) -> T

Sets the background color to dark_gray.
Source§

fn light_red(self) -> T

Sets the foreground color to light_red.
Source§

fn on_light_red(self) -> T

Sets the background color to light_red.
Source§

fn light_green(self) -> T

Sets the foreground color to light_green.
Source§

fn on_light_green(self) -> T

Sets the background color to light_green.
Source§

fn light_yellow(self) -> T

Sets the foreground color to light_yellow.
Source§

fn on_light_yellow(self) -> T

Sets the background color to light_yellow.
Source§

fn light_blue(self) -> T

Sets the foreground color to light_blue.
Source§

fn on_light_blue(self) -> T

Sets the background color to light_blue.
Source§

fn light_magenta(self) -> T

Sets the foreground color to light_magenta.
Source§

fn on_light_magenta(self) -> T

Sets the background color to light_magenta.
Source§

fn light_cyan(self) -> T

Sets the foreground color to light_cyan.
Source§

fn on_light_cyan(self) -> T

Sets the background color to light_cyan.
Source§

fn white(self) -> T

Sets the foreground color to white.
Source§

fn on_white(self) -> T

Sets the background color to white.
Source§

fn bold(self) -> T

Adds the BOLD modifier.
Source§

fn not_bold(self) -> T

Removes the BOLD modifier.
Source§

fn dim(self) -> T

Adds the DIM modifier.
Source§

fn not_dim(self) -> T

Removes the DIM modifier.
Source§

fn italic(self) -> T

Adds the ITALIC modifier.
Source§

fn not_italic(self) -> T

Removes the ITALIC modifier.
Source§

fn underlined(self) -> T

Adds the UNDERLINED modifier.
Source§

fn not_underlined(self) -> T

Removes the UNDERLINED modifier.
Adds the SLOW_BLINK modifier.
Removes the SLOW_BLINK modifier.
Adds the RAPID_BLINK modifier.
Removes the RAPID_BLINK modifier.
Source§

fn reversed(self) -> T

Adds the REVERSED modifier.
Source§

fn not_reversed(self) -> T

Removes the REVERSED modifier.
Source§

fn hidden(self) -> T

Adds the HIDDEN modifier.
Source§

fn not_hidden(self) -> T

Removes the HIDDEN modifier.
Source§

fn crossed_out(self) -> T

Adds the CROSSED_OUT modifier.
Source§

fn not_crossed_out(self) -> T

Removes the CROSSED_OUT modifier.
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
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.