basic_treemap/
basic_treemap.rs1fn main() -> esoc_chart::error::Result<()> {
5 let labels = vec![
6 "Electronics",
7 "Clothing",
8 "Food & Beverage",
9 "Home & Garden",
10 "Books",
11 "Sports",
12 "Toys",
13 "Automotive",
14 ];
15 let values = vec![320.0, 180.0, 150.0, 120.0, 80.0, 60.0, 45.0, 30.0];
16
17 let mut theme = esoc_chart::new_theme::NewTheme::light();
18 theme.base_font_size = 13.0;
19 theme.title_font_size = 18.0;
20 theme.legend_font_size = 11.0;
21 theme.font_family = "Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif".into();
22
23 let svg = esoc_chart::express::treemap(&labels, &values)
24 .title("Sales by Category ($M)")
25 .theme(theme)
26 .size(900.0, 600.0)
27 .to_svg()?;
28
29 std::fs::write("treemap.svg", &svg)?;
30 println!("Wrote treemap.svg ({} bytes)", svg.len());
31 Ok(())
32}