pub struct LinePlot { /* private fields */ }
Expand description
A structure representing a line plot.
The LinePlot
struct facilitates the creation and customization of line plots with various options
for data selection, layout configuration, and aesthetic adjustments. It supports the addition of multiple
lines, customization of marker shapes, line styles, colors, opacity settings, and comprehensive layout
customization including titles, axes, and legends.
§Arguments
data
- A reference to theDataFrame
containing the data to be plotted.x
- A string slice specifying the column name to be used for the x-axis (independent variable).y
- A string slice specifying the column name to be used for the y-axis (dependent variable).additional_lines
- An optional vector of string slices specifying additional y-axis columns to be plotted as lines.size
- An optionalusize
specifying the size of the markers or the thickness of the lines.color
- An optionalRgb
value specifying the color of the markers and lines. This is used whenadditional_lines
is not specified.colors
- An optional vector ofRgb
values specifying the colors for the markers and lines. This is used whenadditional_lines
is specified to differentiate between multiple lines.with_shape
- An optionalbool
indicating whether to display markers with shapes on the plot.shape
- An optionalShape
specifying the shape of the markers.shapes
- An optional vector ofShape
values specifying multiple shapes for the markers when plotting multiple lines.width
- An optionalf64
specifying the width of the plotted lines.line
- An optionalLine
specifying the type of the line (e.g., solid, dashed). This is used whenadditional_lines
is not specified.lines
- An optional vector ofLine
enums specifying the types of lines (e.g., solid, dashed) for each plotted line. This is used whenadditional_lines
is specified to differentiate between multiple lines.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 ndarray::Array;
use polars::prelude::*;
use plotlars::{Axis, Line, LinePlot, Plot, Rgb, Text, TickDirection};
let x_values: Array<f64, _> = Array::linspace(0.0, 2.0 * std::f64::consts::PI, 1000);
let sine_values = x_values.mapv(f64::sin).to_vec();
let cosine_values = x_values.mapv(f64::cos).to_vec();
let x_values = x_values.to_vec();
let dataset = DataFrame::new(vec![
Column::new("x".into(), x_values),
Column::new("sine".into(), sine_values),
Column::new("cosine".into(), cosine_values),
])
.unwrap();
LinePlot::builder()
.data(&dataset)
.x("x")
.y("sine")
.additional_lines(vec!["cosine"])
.colors(vec![
Rgb(255, 0, 0),
Rgb(0, 255, 0),
])
.lines(vec![Line::Solid, Line::Dot])
.width(3.0)
.with_shape(false)
.plot_title(
Text::from("Line Plot")
.font("Arial")
.size(18)
)
.legend_title(
Text::from("series")
.font("Arial")
.size(15)
)
.x_axis(
&Axis::new()
.tick_direction(TickDirection::OutSide)
.axis_position(0.5)
.tick_values(vec![
0.5 * std::f64::consts::PI,
std::f64::consts::PI,
1.5 * std::f64::consts::PI,
2.0 * std::f64::consts::PI,
])
.tick_labels(vec!["π/2", "π", "3π/2", "2π"])
)
.y_axis(
&Axis::new()
.tick_direction(TickDirection::OutSide)
.tick_values(vec![-1.0, 0.0, 1.0])
.tick_labels(vec!["-1", "0", "1"])
)
.build()
.plot();
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LinePlot
impl !RefUnwindSafe for LinePlot
impl !Send for LinePlot
impl !Sync for LinePlot
impl Unpin for LinePlot
impl !UnwindSafe for LinePlot
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