mdbook_plotly/code_handler/plot_obj_parser/
density_mapbox_parser.rs1use super::until::{Map, must_translate};
2use crate::translate;
3use anyhow::Result;
4use plotly::DensityMapbox;
5
6pub fn parse_density_mapbox_data(
7 dm_obj: &mut serde_json::Value,
8 map: &Map,
9) -> Result<Box<DensityMapbox<f64, f64, f64>>> {
10 let lat: Vec<f64> = must_translate(dm_obj, map, "lat")?;
11 let lon: Vec<f64> = must_translate(dm_obj, map, "lon")?;
12 let z: Vec<f64> = must_translate(dm_obj, map, "z")?;
13 let dm = DensityMapbox::new(lat, lon, z);
14 let dm = translate! {
15 dm,
16 dm_obj,
17 map,
18 (show_legend, bool),
19 (name, String),
20 (legend_group, String),
21 (legend_rank, usize),
22 (opacity, f64),
23 (radius, u8),
24 (zoom, u8),
25 (zauto, bool),
26 (zmin, f64),
27 (zmid, f64),
28 (zmax, f64),
29 (subplot, String),
30 }?;
31 Ok(dm)
32}