Struct plotpy::Contour [−][src]
pub struct Contour {Show 19 fields
pub colors: Vec<String>,
pub levels: Vec<f64>,
pub colormap_index: i32,
pub colormap_name: String,
pub no_lines: bool,
pub no_labels: bool,
pub no_inline_labels: bool,
pub no_colorbar: bool,
pub colorbar_label: String,
pub colorbar_number_format: String,
pub line_color: String,
pub line_style: String,
pub line_width: f64,
pub font_size_labels: f64,
pub with_selected: bool,
pub selected_level: f64,
pub selected_line_color: String,
pub selected_line_style: String,
pub selected_line_width: f64,
// some fields omitted
}Expand description
Generates a contour plot
Example
// import
use plotpy::*;
use std::path::Path;
// directory to save figures
const OUT_DIR: &str = "/tmp/plotpy/doc_tests";
// generate (x,y,z) matrices
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;
}
}
// configure and draw contour
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);
// add contour to plot
let mut plot = Plot::new();
plot.add(&contour);
plot.labels("x", "y");
// save figure
let path = Path::new(OUT_DIR).join("doc_contour.svg");
plot.save(&path)?;Fields
colors: Vec<String>Colors to be used instead of a pre-defined colormap
Will use colormap_index instead if it empty.
levels: Vec<f64>Pre-defined levels, otherwise automatically calculate levels
colormap_index: i32Colormap index
- 0 – bwr
- 1 – RdBu
- 2 – hsv
- 3 – jet
- 4 – terrain
- 5 – pink
- 6 – Greys
>6 – starts over from 0
colormap_name: StringColormap name as defined in https://matplotlib.org/stable/tutorials/colors/colormaps.html
Will use colormap_index instead if colormap_name is empty.
no_lines: boolSkip drawing a lines contour on top of the filled contour
no_labels: boolSkip adding labels to the lines contour (if enabled)
no_inline_labels: boolDo not draw labels inline with the contour lines (if enabled)
no_colorbar: boolSkip drawing a colorbar
colorbar_label: StringColorbar label
colorbar_number_format: StringNumber format for the labels in lines contour (e.g. “%.2f”)
line_color: StringLine color for the lines contour (default is black)
line_style: StringLine style for the lines contour
Options: “-”, “:”, “--”, “-.”
line_width: f64Line width for the lines contour
font_size_labels: f64Font size for labels
with_selected: boolDraw a line contour with a selected level (e.g., 0.0) on top of everything
selected_level: f64Selected level (e.g., 0.0)
selected_line_color: StringColor to mark the selected level
selected_line_style: StringLine style for the selected level
Options: “-”, “:”, “--”, “-.”
selected_line_width: f64Line width for the selected level
Implementations
Draws a fancy contour: filled contour with a line contour and a colorbar
Input
x– matrix with x valuesy– matrix with y valuesz– matrix with z values
Flags
The following flags control what features are not to be drawn:
no_lines– skip drawing a lines contour on top of the filled contourno_labels– skip adding labels to the lines contour (if enabled)no_colorbar– skip drawing a colorbarwith_selected– draw a line contour with a selected level (e.g., 0.0) on top of everything
Notes
- The type
Tof the input matrices must be a number.