1pub mod density;
2pub mod spectral;
3pub mod traits;
4
5pub use density::DensityPlot;
6pub use spectral::SpectralSignaturePlot;
7pub use traits::Plot;
8
9#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
13#[serde(rename_all = "snake_case")]
14pub enum PlotType {
15 ScatterSolid,
17 Density,
19 ScatterColoredContinuous,
21 ScatterOverlay,
23 Contour,
25 ContourOverlay,
27 #[serde(alias = "dot")]
29 Dot,
30 Zebra,
32 Histogram,
34}
35
36impl Default for PlotType {
37 fn default() -> Self {
38 PlotType::Density
39 }
40}
41
42impl PlotType {
43 pub fn canonical(self) -> Self {
45 match self {
46 PlotType::Dot => PlotType::ScatterSolid,
47 other => other,
48 }
49 }
50}