1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/// An enumeration representing the source of intensity values for mesh coloring.
///
/// The `IntensityMode` enum specifies whether intensity values should be taken
/// from vertices or cells (faces) of a 3D mesh.
///
/// # Example
///
/// ```rust
/// use plotlars::{ColorBar, IntensityMode, Mesh3D, Palette, Plot};
/// use polars::prelude::*;
///
/// // Create sample mesh data with intensity values
/// let x = vec![0.0, 1.0, 2.0, 0.0];
/// let y = vec![0.0, 0.0, 1.0, 2.0];
/// let z = vec![0.0, 2.0, 0.0, 1.0];
/// let intensity = vec![0.0, 0.5, 0.8, 1.0];
///
/// let dataset = DataFrame::new(x.len(), vec![
/// Column::new("x".into(), x),
/// Column::new("y".into(), y),
/// Column::new("z".into(), z),
/// Column::new("intensity".into(), intensity),
/// ])
/// .unwrap();
///
/// Mesh3D::builder()
/// .data(&dataset)
/// .x("x")
/// .y("y")
/// .z("z")
/// .intensity("intensity")
/// .intensity_mode(IntensityMode::Vertex)
/// .color_scale(Palette::Viridis)
/// .color_bar(
/// &ColorBar::new()
/// .x(0.65) // Position color bar extremely close to the plot
/// )
/// .build()
/// .plot();
/// ```
///
/// 