#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub enum AxisScale {
#[default]
Linear,
Log {
base: f64,
},
}
impl AxisScale {
pub(crate) fn data_to_plot(self, value: f64) -> Option<f64> {
crate::transform::data_value_to_plot(value, self, None)
}
pub(crate) fn plot_to_data(self, value: f64) -> Option<f64> {
crate::transform::plot_value_to_data(value, self)
}
}
pub(crate) fn plot_point_to_data(
point: [f64; 2],
x_scale: AxisScale,
y_scale: AxisScale,
) -> Option<[f64; 2]> {
crate::transform::plot_point_to_data(point, x_scale, y_scale)
}