Skip to main content

Chart

Struct Chart 

Source
pub struct Chart<'a, LX, LY>
where LX: AsRef<str> + 'a, LY: AsRef<str> + 'a,
{ /* private fields */ }
Expand description

A widget to plot one or more dataset in a cartesian coordinate system

§Examples

Chart::default()
    .block(Block::default().title("Chart"))
    .x_axis(Axis::default()
        .title("X Axis")
        .title_style(Style::default().fg(Color::Red))
        .style(Style::default().fg(Color::White))
        .bounds([0.0, 10.0])
        .labels(&["0.0", "5.0", "10.0"]))
    .y_axis(Axis::default()
        .title("Y Axis")
        .title_style(Style::default().fg(Color::Red))
        .style(Style::default().fg(Color::White))
        .bounds([0.0, 10.0])
        .labels(&["0.0", "5.0", "10.0"]))
    .datasets(&[Dataset::default()
                    .name("data1")
                    .marker(Marker::Dot)
                    .graph_type(GraphType::Scatter)
                    .style(Style::default().fg(Color::Cyan))
                    .data(&[(0.0, 5.0), (1.0, 6.0), (1.5, 6.434)]),
                Dataset::default()
                    .name("data2")
                    .marker(Marker::Braille)
                    .graph_type(GraphType::Line)
                    .style(Style::default().fg(Color::Magenta))
                    .data(&[(4.0, 5.0), (5.0, 8.0), (7.66, 13.5)])]);

Implementations§

Source§

impl<'a, LX, LY> Chart<'a, LX, LY>
where LX: AsRef<str>, LY: AsRef<str>,

Source

pub fn block(self, block: Block<'a>) -> Chart<'a, LX, LY>

Source

pub fn style(self, style: Style) -> Chart<'a, LX, LY>

Source

pub fn x_axis(self, axis: Axis<'a, LX>) -> Chart<'a, LX, LY>

Source

pub fn y_axis(self, axis: Axis<'a, LY>) -> Chart<'a, LX, LY>

Source

pub fn datasets(self, datasets: &'a [Dataset<'a>]) -> Chart<'a, LX, LY>

Source

pub fn hidden_legend_constraints( self, constraints: (Constraint, Constraint), ) -> Chart<'a, LX, LY>

Set the constraints used to determine whether the legend should be shown or not.

§Examples
let constraints = (
    Constraint::Ratio(1, 3),
    Constraint::Ratio(1, 4)
);
// Hide the legend when either its width is greater than 33% of the total widget width
// or if its height is greater than 25% of the total widget height.
let _chart: Chart<String, String> = Chart::default()
    .hidden_legend_constraints(constraints);

Trait Implementations§

Source§

impl<'a, LX, LY> Default for Chart<'a, LX, LY>
where LX: AsRef<str>, LY: AsRef<str>,

Source§

fn default() -> Chart<'a, LX, LY>

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

impl<'a, LX, LY> Widget for Chart<'a, LX, LY>
where LX: AsRef<str>, LY: AsRef<str>,

Source§

fn render(self, area: Rect, buf: &mut Buffer)

Draws the current state of the widget in the given buffer. That the only method required to implement a custom widget.

Auto Trait Implementations§

§

impl<'a, LX, LY> Freeze for Chart<'a, LX, LY>

§

impl<'a, LX, LY> RefUnwindSafe for Chart<'a, LX, LY>

§

impl<'a, LX, LY> Send for Chart<'a, LX, LY>
where LX: Sync, LY: Sync,

§

impl<'a, LX, LY> Sync for Chart<'a, LX, LY>
where LX: Sync, LY: Sync,

§

impl<'a, LX, LY> Unpin for Chart<'a, LX, LY>

§

impl<'a, LX, LY> UnsafeUnpin for Chart<'a, LX, LY>

§

impl<'a, LX, LY> UnwindSafe for Chart<'a, LX, LY>

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> 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<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.