ratatui::widgets

Struct Axis

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

An X or Y axis for the Chart widget

An axis can have a title which will be displayed at the end of the axis. For an X axis this is the right, for a Y axis, this is the top.

You can also set the bounds and labels on this axis using respectively Axis::bounds and Axis::labels.

See Chart::x_axis and Chart::y_axis to set an axis on a chart.

§Example

use ratatui::{
    style::{Style, Stylize},
    widgets::Axis,
};

let axis = Axis::default()
    .title("X Axis")
    .style(Style::default().gray())
    .bounds([0.0, 50.0])
    .labels(["0".bold(), "25".into(), "50".bold()]);

Implementations§

Source§

impl<'a> Axis<'a>

Source

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

Sets the axis title

It will be displayed at the end of the axis. For an X axis this is the right, for a Y axis, this is the top.

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

Source

pub const fn bounds(self, bounds: [f64; 2]) -> Self

Sets the bounds of this axis

In other words, sets the min and max value on this axis.

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

Source

pub fn labels<Labels>(self, labels: Labels) -> Self
where Labels: IntoIterator, Labels::Item: Into<Line<'a>>,

Sets the axis labels

  • For the X axis, the labels are displayed left to right.
  • For the Y axis, the labels are displayed bottom to top.

Currently, you need to give at least two labels or the render will panic. Also, giving more than 3 labels is currently broken and the middle labels won’t be in the correct position, see issue 334.

labels is a vector of any type that can be converted into a Line (e.g. &str, String, &Line, Span, …). This allows you to style the labels using the methods provided by Line. Any alignment set on the labels will be ignored as the alignment is determined by the axis.

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

§Examples
use ratatui::{style::Stylize, widgets::Axis};

let axis = Axis::default()
    .bounds([0.0, 50.0])
    .labels(["0".bold(), "25".into(), "50".bold()]);
Source

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

Sets the axis style

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

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

§Example

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

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

let axis = Axis::default().red();
Source

pub const fn labels_alignment(self, alignment: Alignment) -> Self

Sets the labels alignment of the axis

The alignment behaves differently based on the axis:

  • Y axis: The labels are aligned within the area on the left of the axis
  • X axis: The first X-axis label is aligned relative to the Y-axis

On the X axis, this parameter only affects the first label.

Trait Implementations§

Source§

impl<'a> Clone for Axis<'a>

Source§

fn clone(&self) -> Axis<'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 Axis<'a>

Source§

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

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

impl<'a> Default for Axis<'a>

Source§

fn default() -> Axis<'a>

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

impl<'a> PartialEq for Axis<'a>

Source§

fn eq(&self, other: &Axis<'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 Axis<'a>

Source§

type Item = Axis<'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 Axis<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Axis<'a>

§

impl<'a> RefUnwindSafe for Axis<'a>

§

impl<'a> Send for Axis<'a>

§

impl<'a> Sync for Axis<'a>

§

impl<'a> Unpin for Axis<'a>

§

impl<'a> UnwindSafe for Axis<'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.