pub struct BoxPlot { /* private fields */ }
Expand description
A structure representing a box plot.
The BoxPlot
struct facilitates the creation and customization of box plots with various options
for data selection, layout configuration, and aesthetic adjustments. It supports both horizontal
and vertical orientations, grouping of data, display of individual data points with jitter and offset,
opacity settings, and customizable markers and colors.
§Arguments
data
- A reference to theDataFrame
containing the data to be plotted.labels
- A string slice specifying the column name to be used for the x-axis (independent variable).values
- A string slice specifying the column name to be used for the y-axis (dependent variable).orientation
- An optionalOrientation
enum specifying whether the plot should be horizontal or vertical.group
- An optional string slice specifying the column name to be used for grouping data points.box_points
- An optional boolean indicating whether individual data points should be plotted along with the box plot.point_offset
- An optionalf64
value specifying the horizontal offset for individual data points whenbox_points
is enabled.jitter
- An optionalf64
value indicating the amount of jitter (random noise) to apply to individual data points for visibility.opacity
- An optionalf64
value specifying the opacity of the plot markers (range: 0.0 to 1.0).color
- An optionalRgb
value specifying the color of the markers to be used for the plot. This is used whengroup
is not specified.colors
- An optional vector ofRgb
values specifying the colors to be used for the plot. This is used whengroup
is specified to differentiate between groups.plot_title
- An optionalText
struct specifying the title of the plot.x_title
- An optionalText
struct specifying the title of the x-axis.y_title
- An optionalText
struct specifying the title of the y-axis.legend_title
- An optionalText
struct specifying the title of the legend.x_axis
- An optional reference to anAxis
struct for customizing the x-axis.y_axis
- An optional reference to anAxis
struct for customizing the y-axis.legend
- An optional reference to aLegend
struct for customizing the legend of the plot (e.g., positioning, font, etc.).
§Example
use plotlars::{Axis, BoxPlot, Legend, Orientation, Plot, Rgb, Text};
let dataset = LazyCsvReader::new("data/penguins.csv")
.finish()
.unwrap()
.select([
col("species"),
col("sex").alias("gender"),
col("flipper_length_mm").cast(DataType::Int16),
col("body_mass_g").cast(DataType::Int16),
])
.collect()
.unwrap();
BoxPlot::builder()
.data(&dataset)
.labels("species")
.values("body_mass_g")
.orientation(Orientation::Vertical)
.group("gender")
.box_points(true)
.point_offset(-1.5)
.jitter(0.01)
.opacity(0.1)
.colors(vec![
Rgb(0, 191, 255),
Rgb(57, 255, 20),
Rgb(255, 105, 180),
])
.plot_title(
Text::from("Box Plot")
.font("Arial")
.size(18)
)
.x_title(
Text::from("species")
.font("Arial")
.size(15)
)
.y_title(
Text::from("body mass (g)")
.font("Arial")
.size(15)
)
.legend_title(
Text::from("gender")
.font("Arial")
.size(15)
)
.y_axis(
&Axis::new()
.value_thousands(true)
)
.legend(
&Legend::new()
.border_width(1)
.x(0.9)
)
.build()
.plot();
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BoxPlot
impl !RefUnwindSafe for BoxPlot
impl !Send for BoxPlot
impl !Sync for BoxPlot
impl Unpin for BoxPlot
impl !UnwindSafe for BoxPlot
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> ⓘ
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 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> ⓘ
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