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.