Rust plotting library using Python (Matplotlib)
This package implements a plotting library, with its own functions. However, internally, this package generates a Python script with Matplotlib commands. Then, this package runs the script using process::Command
.
Documentation:
Installation
1 Install Matplotlib
sudo apt-get install python3-matplotlib
2 Configure Cargo.toml
Add the following lines to Cargo.toml:
[dependencies]
plotpy = "*"
Examples
Contour
use plotpy::*;
use std::path::Path;
const OUT_DIR: &str = "/tmp/plotpy/doc_tests";
fn main() -> Result<(), &'static str> {
let n = 21;
let mut x = vec![vec![0.0; n]; n];
let mut y = vec![vec![0.0; n]; n];
let mut z = vec![vec![0.0; n]; n];
let (min, max) = (-2.0, 2.0);
let d = (max - min) / ((n - 1) as f64);
for i in 0..n {
let v = min + (i as f64) * d;
for j in 0..n {
let u = min + (j as f64) * d;
x[i][j] = u;
y[i][j] = v;
z[i][j] = u * u - v * v;
}
}
let mut contour = Contour::new();
contour.colorbar_label = "temperature".to_string();
contour.colormap_name = "terrain".to_string();
contour.with_selected = true;
contour.selected_level = 0.0;
contour.draw(&x, &y, &z);
let mut plot = Plot::new();
plot.add(&contour);
plot.labels("x", "y");
let path = Path::new(OUT_DIR).join("doc_contour.svg");
plot.save(&path)?;
Ok(())
}