Struct Boxplot

Source
pub struct Boxplot { /* private fields */ }
Expand description

Draw a box and whisker plot

See Matplotlib’s documentation

§Examples

§Data as a nested list

use plotpy::{Boxplot, Plot, StrError};

fn main() -> Result<(), StrError> {
    // data (as a nested list)
    let data = vec![
        vec![1, 2, 3, 4, 5],              // A
        vec![2, 3, 4, 5, 6, 7, 8, 9, 10], // B
        vec![3, 4, 5, 6],                 // C
        vec![4, 5, 6, 7, 8, 9, 10],       // D
        vec![5, 6, 7],                    // E
    ];

    // x ticks and labels
    let n = data.len();
    let ticks: Vec<_> = (1..(n + 1)).into_iter().collect();
    let labels = ["A", "B", "C", "D", "E"];

    // boxplot object and options
    let mut boxes = Boxplot::new();
    boxes.draw(&data);

    // save figure
    let mut plot = Plot::new();
    plot.add(&boxes)
        .set_title("boxplot documentation test")
        .set_ticks_x_labels(&ticks, &labels)
        .save("/tmp/plotpy/doc_tests/doc_boxplot_2.svg")?;
    Ok(())
}

doc_boxplot_2.svg

§Data as a 2D array

use plotpy::{Boxplot, Plot, StrError};

fn main() -> Result<(), StrError> {
    // data (as a 2D array/matrix)
    let data = vec![
        //   A  B  C  D  E
        vec![1, 2, 3, 4, 5],
        vec![2, 3, 4, 5, 6],
        vec![3, 4, 5, 6, 7],
        vec![4, 5, 6, 7, 8],
        vec![5, 6, 7, 8, 9],
        vec![6, 7, 8, 9, 10],
        vec![14, 14, 14, 14, 14], // fliers
    ];

    // x ticks and labels
    let ncol = data[0].len();
    let ticks: Vec<_> = (1..(ncol + 1)).into_iter().collect();
    let labels = ["A", "B", "C", "D", "E"];

    // boxplot object and options
    let mut boxes = Boxplot::new();
    boxes.draw_mat(&data);

    // save figure
    let mut plot = Plot::new();
    plot.add(&boxes)
        .set_title("boxplot documentation test")
        .set_ticks_x_labels(&ticks, &labels)
        .save("/tmp/plotpy/doc_tests/doc_boxplot_1.svg")?;
    Ok(())
}

doc_boxplot_1.svg

§More examples

See also integration test in the tests directory.

Implementations§

Source§

impl Boxplot

Source

pub fn new() -> Self

Creates a new Boxplot object

Source

pub fn draw<T>(&mut self, data: &Vec<Vec<T>>)
where T: Display + Num,

Draws the box plot given a nested list

§Input
  • data – Is a sequence of 1D arrays such that a boxplot is drawn for each array in the sequence. From Matplotlib
Source

pub fn draw_mat<'a, T, U>(&mut self, data: &'a T)
where T: AsMatrix<'a, U>, U: 'a + Display + Num,

Draws the box plot given a 2D array (matrix)

§Input
  • data – Is a 2D array (matrix) such that a boxplot is drawn for each column in the matrix. From Matplotlib
Source

pub fn set_symbol(&mut self, symbol: &str) -> &mut Self

Sets the symbol for the fliers

Source

pub fn set_horizontal(&mut self, flag: bool) -> &mut Self

Enables drawing horizontal boxes

Source

pub fn set_whisker(&mut self, whisker: f64) -> &mut Self

Sets the position of the whiskers

The default value of whisker = 1.5 corresponds to Tukey’s original definition of boxplots.

See Matplotlib’s documentation

Source

pub fn set_positions(&mut self, positions: &[f64]) -> &mut Self

Sets the positions of the boxes

Source

pub fn set_width(&mut self, width: f64) -> &mut Self

Sets the width of the boxes

Source

pub fn set_no_fliers(&mut self, flag: bool) -> &mut Self

Disables the fliers

Source

pub fn set_patch_artist(&mut self, flag: bool) -> &mut Self

Enables the use of Patch artist to draw boxes instead of Line2D artist

Source

pub fn set_medianprops(&mut self, props: &str) -> &mut Self

Set the median properties.

See Matplotlib’s documentation

Source

pub fn set_boxprops(&mut self, props: &str) -> &mut Self

Set the properties of the box

Source

pub fn set_whiskerprops(&mut self, props: &str) -> &mut Self

Set the properties of the whisker

Source

pub fn set_extra(&mut self, extra: &str) -> &mut Self

Sets extra matplotlib commands (comma separated)

Important: The extra commands must be comma separated. For example:

param1=123,param2='hello'

See Matplotlib’s documentation for extra parameters

Trait Implementations§

Source§

impl GraphMaker for Boxplot

Source§

fn get_buffer<'a>(&'a self) -> &'a String

Returns the text buffer with Python3 commands
Source§

fn clear_buffer(&mut self)

Clear the text buffer with Python commands

Auto Trait Implementations§

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