← Back

Module lib

<p>Joule Standard Library - Plotting and Visualization Matplotlib-level plotting with SVG output</p>

struct Figure

Source: lib.joule:17

fn new(width: f64, height: f64) -> Self

Create new figure

Source: lib.joule:34

fn from_inches(width_inches: f64, height_inches: f64, dpi: f64) -> Self

Create figure with inches dimensions

Source: lib.joule:46

fn title(mut self, title: &str) -> Self

Set figure title

Source: lib.joule:58

fn background(mut self, color: Color) -> Self

Set background color

Source: lib.joule:64

fn add_axes(&mut self, left: f64, bottom: f64, width: f64, height: f64) -> &mut Axes

Add axes at position (left, bottom, width, height) in figure coordinates (0-1)

Source: lib.joule:70

fn add_subplot(&mut self, rows: usize, cols: usize, index: usize) -> &mut Axes

Add subplot (rows, cols, index starting at 1)

Source: lib.joule:82

fn gca(&mut self) -> &mut Axes

Get first axes or create one

Source: lib.joule:100

fn to_svg(&self) -> String

Source: lib.joule:109

fn save(&self, _path: &str) -> Result<(), PlotError>

Source: lib.joule:115

fn default() -> Self

Source: lib.joule:124

struct Axes

Source: lib.joule:131

fn new(x: f64, y: f64, width: f64, height: f64) -> Self

Create new axes

Source: lib.joule:172

fn set_title(&mut self, title: &str) -> &mut Self

Set title

Source: lib.joule:196

fn set_xlabel(&mut self, label: &str) -> &mut Self

Set X-axis label

Source: lib.joule:202

fn set_ylabel(&mut self, label: &str) -> &mut Self

Set Y-axis label

Source: lib.joule:208

fn set_xlim(&mut self, min: f64, max: f64) -> &mut Self

Set X-axis limits

Source: lib.joule:214

fn set_ylim(&mut self, min: f64, max: f64) -> &mut Self

Set Y-axis limits

Source: lib.joule:220

fn enable_grid(&mut self, show: bool) -> &mut Self

Enable grid

Source: lib.joule:226

fn set_xscale(&mut self, scale: Scale) -> &mut Self

Set X-axis scale

Source: lib.joule:232

fn set_yscale(&mut self, scale: Scale) -> &mut Self

Set Y-axis scale

Source: lib.joule:238

fn legend(&mut self, pos: LegendPosition) -> &mut Self

Show legend

Source: lib.joule:244

fn set_aspect(&mut self, ratio: f64) -> &mut Self

Set aspect ratio

Source: lib.joule:251

fn plot(&mut self, x: &[f64], y: &[f64], style: PlotStyle) -> &mut Self

Source: lib.joule:262

fn scatter(&mut self, x: &[f64], y: &[f64], style: ScatterStyle) -> &mut Self

Source: lib.joule:282

fn bar(&mut self, x: &[f64], heights: &[f64], width: f64, style: BarStyle) -> &mut Self

Source: lib.joule:302

fn barh(&mut self, y: &[f64], widths: &[f64], height: f64, style: BarStyle) -> &mut Self

Source: lib.joule:314

fn hist(&mut self, data: &[f64], bins: usize, style: BarStyle) -> &mut Self

Source: lib.joule:326

fn fill(&mut self, x: &[f64], y1: &[f64], y2: &[f64], style: FillStyle) -> &mut Self

Source: lib.joule:341

fn fill_between(&mut self, x: &[f64], y: &[f64], style: FillStyle) -> &mut Self

Source: lib.joule:353

fn step(&mut self, x: &[f64], y: &[f64], style: PlotStyle, where_step: StepPosition) -> &mut Self

Source: lib.joule:360

fn errorbar(

Source: lib.joule:372

fn stem(&mut self, x: &[f64], y: &[f64], style: PlotStyle) -> &mut Self

Source: lib.joule:392

fn pie(&mut self, values: &[f64], labels: Option<&[&str]>, colors: Option<&[Color]>) -> &mut Self

Source: lib.joule:403

fn imshow(&mut self, data: &[Vec<f64>], cmap: Colormap) -> &mut Self

Source: lib.joule:415

fn contour(&mut self, x: &[f64], y: &[f64], z: &[Vec<f64>], levels: usize, filled: bool) -> &mut Self

Source: lib.joule:427

fn boxplot(&mut self, data: &[Vec<f64>], positions: Option<&[f64]>) -> &mut Self

Source: lib.joule:441

fn violinplot(&mut self, data: &[Vec<f64>], positions: Option<&[f64]>) -> &mut Self

Source: lib.joule:455

fn axhline(&mut self, y: f64, style: PlotStyle) -> &mut Self

Add horizontal line

Source: lib.joule:468

fn axvline(&mut self, x: f64, style: PlotStyle) -> &mut Self

Add vertical line

Source: lib.joule:474

fn text(&mut self, x: f64, y: f64, text: &str, style: TextStyle) -> &mut Self

Add text annotation

Source: lib.joule:480

fn annotate(

Add arrow annotation

Source: lib.joule:491

fn compute_bounds(&self) -> (f64, f64, f64, f64)

Compute data bounds

Source: lib.joule:512

enum PlotElement

Source: lib.joule:590

enum LineStyle

Source: lib.joule:687

enum Marker

Source: lib.joule:697

enum Scale

Source: lib.joule:710

enum StepPosition

Source: lib.joule:718

enum LegendPosition

Source: lib.joule:726

struct PlotStyle

Source: lib.joule:742

fn new() -> Self

Source: lib.joule:753

fn color(mut self, color: Color) -> Self

Source: lib.joule:757

fn line_style(mut self, style: LineStyle) -> Self

Source: lib.joule:762

fn line_width(mut self, width: f64) -> Self

Source: lib.joule:767

fn marker(mut self, marker: Marker) -> Self

Source: lib.joule:772

fn marker_size(mut self, size: f64) -> Self

Source: lib.joule:777

fn alpha(mut self, alpha: f64) -> Self

Source: lib.joule:782

fn label(mut self, label: &str) -> Self

Source: lib.joule:787

fn default() -> Self

Source: lib.joule:794

struct ScatterStyle

Source: lib.joule:809

fn default() -> Self

Source: lib.joule:820

struct BarStyle

Source: lib.joule:835

fn default() -> Self

Source: lib.joule:843

struct FillStyle

Source: lib.joule:855

fn default() -> Self

Source: lib.joule:861

struct TextStyle

Source: lib.joule:871

fn default() -> Self

Source: lib.joule:882

enum FontWeight

Source: lib.joule:896

enum HAlign

Source: lib.joule:902

enum VAlign

Source: lib.joule:909

struct LegendEntry

Source: lib.joule:917

enum LegendType

Source: lib.joule:924

enum PlotError

Source: lib.joule:935

fn compute_histogram(data: &[f64], bins: usize) -> (Vec<f64>, Vec<usize>)

Source: lib.joule:945

fn compute_step(x: &[f64], y: &[f64], position: StepPosition) -> (Vec<f64>, Vec<f64>)

Source: lib.joule:967

fn subplots(rows: usize, cols: usize) -> (Figure, Vec<usize>)

Create figure and axes for quick plotting

Source: lib.joule:1025

fn plot(x: &[f64], y: &[f64]) -> Figure

Quick line plot

Source: lib.joule:1037

fn scatter(x: &[f64], y: &[f64]) -> Figure

Quick scatter plot

Source: lib.joule:1044

fn hist(data: &[f64], bins: usize) -> Figure

Quick histogram

Source: lib.joule:1051

fn bar(x: &[f64], heights: &[f64]) -> Figure

Quick bar chart

Source: lib.joule:1058

fn test_figure_creation()

Source: lib.joule:1074

fn test_add_axes()

Source: lib.joule:1081

fn test_line_plot()

Source: lib.joule:1088

fn test_histogram()

Source: lib.joule:1100

fn test_svg_output()

Source: lib.joule:1110