#plot #graph #chart #text

flat

将多维数据投影到平面文本平面

9次发布

0.1.5 2024年8月19日
0.1.4 2024年7月13日
0.0.3 2024年7月4日

#78 in 可视化

Download history 305/week @ 2024-06-28 311/week @ 2024-07-05 153/week @ 2024-07-12 5/week @ 2024-07-19 2/week @ 2024-07-26 132/week @ 2024-08-16

每月135次下载

MIT/Apache

280KB
6K SLoC

flat

将多维数据投影到平面文本平面。

use flat::*;

let schema = Schemas::three("animal", "length", "stable");
let dataset = Dataset::builder(schema)
    .add(("whale".to_string(), 4u32, true))
    .add(("shark".to_string(), 4u32, false))
    .add(("shark".to_string(), 1u32, false))
    .add(("shark".to_string(), 1u32, true))
    .add(("shark".to_string(), 1u32, true))
    .add(("shark".to_string(), 1u32, true))
    .add(("tiger".to_string(), 4u32, false))
    .add(("tiger".to_string(), 4u32, false))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 5u32, true))
    .add(("tiger".to_string(), 1u32, false))
    .add(("tiger".to_string(), 1u32, false))
    .add(("tiger".to_string(), 1u32, false))
    .build();
let view = dataset.breakdown_3rd();
let flat = BarChart::new(&view).render(Render::default());
assert_eq!(
    format!("\n{}", flat.to_string()),
    r#"
                   Sum(Breakdown(stable))
length    animal  |false   true |
1       - shark   |  **    ***  |
4       ┘
1       ┐
4       - tiger   |*****  ******|
5       ┘
4       - whale   |         *   |"#
);

依赖项

~240KB