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>
impl<'a> Axis<'a>
Sourcepub fn title<T>(self, title: T) -> Self
pub fn title<T>(self, title: T) -> Self
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
Sourcepub const fn bounds(self, bounds: [f64; 2]) -> Self
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
Sourcepub fn labels<Labels>(self, labels: Labels) -> Self
pub fn labels<Labels>(self, labels: Labels) -> Self
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()]);Sourcepub fn style<S: Into<Style>>(self, style: S) -> Self
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();Sourcepub const fn labels_alignment(self, alignment: Alignment) -> Self
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§
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> 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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<'a, T, U> Stylize<'a, T> for Uwhere
U: Styled<Item = T>,
impl<'a, T, U> Stylize<'a, T> for Uwhere
U: Styled<Item = T>,
fn bg<C>(self, color: C) -> T
fn fg<C>(self, color: C) -> T
fn add_modifier(self, modifier: Modifier) -> T
fn remove_modifier(self, modifier: Modifier) -> T
fn reset(self) -> T
Source§fn on_magenta(self) -> T
fn on_magenta(self) -> T
magenta.Source§fn on_dark_gray(self) -> T
fn on_dark_gray(self) -> T
dark_gray.Source§fn on_light_red(self) -> T
fn on_light_red(self) -> T
light_red.Source§fn light_green(self) -> T
fn light_green(self) -> T
light_green.Source§fn on_light_green(self) -> T
fn on_light_green(self) -> T
light_green.Source§fn light_yellow(self) -> T
fn light_yellow(self) -> T
light_yellow.Source§fn on_light_yellow(self) -> T
fn on_light_yellow(self) -> T
light_yellow.Source§fn light_blue(self) -> T
fn light_blue(self) -> T
light_blue.Source§fn on_light_blue(self) -> T
fn on_light_blue(self) -> T
light_blue.Source§fn light_magenta(self) -> T
fn light_magenta(self) -> T
light_magenta.Source§fn on_light_magenta(self) -> T
fn on_light_magenta(self) -> T
light_magenta.Source§fn light_cyan(self) -> T
fn light_cyan(self) -> T
light_cyan.Source§fn on_light_cyan(self) -> T
fn on_light_cyan(self) -> T
light_cyan.Source§fn not_italic(self) -> T
fn not_italic(self) -> T
ITALIC modifier.Source§fn underlined(self) -> T
fn underlined(self) -> T
UNDERLINED modifier.Source§fn not_underlined(self) -> T
fn not_underlined(self) -> T
UNDERLINED modifier.Source§fn slow_blink(self) -> T
fn slow_blink(self) -> T
SLOW_BLINK modifier.Source§fn not_slow_blink(self) -> T
fn not_slow_blink(self) -> T
SLOW_BLINK modifier.Source§fn rapid_blink(self) -> T
fn rapid_blink(self) -> T
RAPID_BLINK modifier.Source§fn not_rapid_blink(self) -> T
fn not_rapid_blink(self) -> T
RAPID_BLINK modifier.Source§fn not_reversed(self) -> T
fn not_reversed(self) -> T
REVERSED modifier.HIDDEN modifier.HIDDEN modifier.Source§fn crossed_out(self) -> T
fn crossed_out(self) -> T
CROSSED_OUT modifier.Source§fn not_crossed_out(self) -> T
fn not_crossed_out(self) -> T
CROSSED_OUT modifier.