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};
use ratatui::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) -> Axis<'a>
pub fn title<T>(self, title: T) -> Axis<'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
Sourcepub const fn bounds(self, bounds: [f64; 2]) -> Axis<'a>
pub const fn bounds(self, bounds: [f64; 2]) -> Axis<'a>
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) -> Axis<'a>
pub fn labels<Labels>(self, labels: Labels) -> Axis<'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;
use ratatui::widgets::Axis;
let axis = Axis::default()
.bounds([0.0, 50.0])
.labels(["0".bold(), "25".into(), "50".bold()]);
Sourcepub fn style<S>(self, style: S) -> Axis<'a>
pub fn style<S>(self, style: S) -> Axis<'a>
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;
use ratatui::widgets::Axis;
let axis = Axis::default().red();
Sourcepub const fn labels_alignment(self, alignment: HorizontalAlignment) -> Axis<'a>
pub const fn labels_alignment(self, alignment: HorizontalAlignment) -> Axis<'a>
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<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> Stylize<'_, T> for Uwhere
U: Styled<Item = T>,
impl<T, U> Stylize<'_, 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.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more