plotlars-core 0.12.1

Core types and traits for plotlars
Documentation
use crate::components::{Axis, BarMode, Dimensions, Legend, Text};
use crate::ir::facet::{AnnotationIR, GridSpec};

#[derive(Clone)]
#[doc(hidden)]
pub struct LayoutIR {
    pub title: Option<Text>,
    pub x_title: Option<Text>,
    pub y_title: Option<Text>,
    pub y2_title: Option<Text>,
    pub z_title: Option<Text>,
    pub legend_title: Option<Text>,
    pub legend: Option<Legend>,
    pub dimensions: Option<Dimensions>,
    pub bar_mode: Option<BarMode>,
    pub box_mode: Option<BoxModeIR>,
    pub box_gap: Option<f64>,
    pub margin_bottom: Option<usize>,
    pub axes_2d: Option<Axes2dIR>,
    pub scene_3d: Option<Scene3dIR>,
    pub polar: Option<PolarAxisIR>,
    pub mapbox: Option<MapboxIR>,
    pub grid: Option<GridSpec>,
    pub annotations: Vec<AnnotationIR>,
}

#[derive(Clone)]
#[doc(hidden)]
pub enum BoxModeIR {
    Group,
}

#[derive(Clone)]
#[doc(hidden)]
pub struct Axes2dIR {
    pub x_axis: Option<Axis>,
    pub y_axis: Option<Axis>,
    pub y2_axis: Option<Axis>,
}

#[derive(Clone)]
#[doc(hidden)]
pub struct Scene3dIR {
    pub x_axis: Option<Axis>,
    pub y_axis: Option<Axis>,
    pub z_axis: Option<Axis>,
    pub domain: Option<DomainIR>,
}

#[derive(Clone)]
#[doc(hidden)]
pub struct PolarAxisIR {
    pub radial_axis: Option<Axis>,
    pub angular_axis: Option<Axis>,
    pub domain: Option<DomainIR>,
}

#[derive(Clone)]
#[doc(hidden)]
pub struct MapboxIR {
    pub center: Option<(f64, f64)>,
    pub zoom: Option<f64>,
    pub style: Option<String>,
}

#[derive(Clone)]
#[doc(hidden)]
pub struct DomainIR {
    pub x: (f64, f64),
    pub y: (f64, f64),
}