SiegeLord/RustGnuplot

A Rust library for drawing plots, powered by Gnuplot.

Rust

429

435 commits

updated Dec 15, 2025

See the code

README

RustGnuplot

A Gnuplot controller written in Rust.

Build Status

Documentation

On docs.rs

Examples

A simple example:

let mut fg = Figure::new();
fg.axes2d()
	.set_title("A plot", &[])
	.set_legend(Graph(0.5), Graph(0.9), &[], &[])
	.set_x_label("x", &[])
	.set_y_label("y^2", &[])
	.lines(
		&[-3., -2., -1., 0., 1., 2., 3.],
		&[9., 4., 1., 0., 1., 4., 9.],
		&[Caption("Parabola")],
	);
fg.show().unwrap();

Simple example plot

A somewhat involved 2D example (see example1.rs in the examples directory):

Complicated example plot

Features

  • Simple 2D plots
    • lines
    • points
    • points + lines
    • error bars
    • ...and more!
  • Simple 3D plots
    • surface plots
    • heatmaps
    • contours

Building

Via Cargo

cargo build
gnuplot
rust

Contributors

SiegeLordEx

199 commits

SiegeLord

189 commits

Neutroni

9 commits

justwalt

8 commits

SiegeLord/RustGnuplot

A Rust library for drawing plots, powered by Gnuplot.

Rust

429

435 commits

updated Dec 15, 2025

See the code

README

RustGnuplot

A Gnuplot controller written in Rust.

Build Status

Documentation

On docs.rs

Examples

A simple example:

let mut fg = Figure::new();
fg.axes2d()
	.set_title("A plot", &[])
	.set_legend(Graph(0.5), Graph(0.9), &[], &[])
	.set_x_label("x", &[])
	.set_y_label("y^2", &[])
	.lines(
		&[-3., -2., -1., 0., 1., 2., 3.],
		&[9., 4., 1., 0., 1., 4., 9.],
		&[Caption("Parabola")],
	);
fg.show().unwrap();

Simple example plot

A somewhat involved 2D example (see example1.rs in the examples directory):

Complicated example plot

Features

  • Simple 2D plots
    • lines
    • points
    • points + lines
    • error bars
    • ...and more!
  • Simple 3D plots
    • surface plots
    • heatmaps
    • contours

Building

Via Cargo

cargo build
gnuplot
rust

Contributors

SiegeLordEx

199 commits

SiegeLord

189 commits

Neutroni

9 commits

justwalt

8 commits

Languages

Rust

98.0%

Python

2.0%