40 lines
1022 B
Rust
40 lines
1022 B
Rust
use plotters::prelude::*;
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
let root =
|
|
BitMapBackend::new("plotters-doc-data/histogram.png", (640, 480)).into_drawing_area();
|
|
|
|
root.fill(&WHITE)?;
|
|
|
|
let mut chart = ChartBuilder::on(&root)
|
|
.x_label_area_size(35)
|
|
.y_label_area_size(40)
|
|
.margin(5)
|
|
.caption("Histogram Test", ("sans-serif", 50.0))
|
|
.build_cartesian_2d((0u32..10u32).into_segmented(), 0u32..10u32)?;
|
|
|
|
chart
|
|
.configure_mesh()
|
|
.disable_x_mesh()
|
|
.bold_line_style(&WHITE.mix(0.3))
|
|
.y_desc("Count")
|
|
.x_desc("Bucket")
|
|
.axis_desc_style(("sans-serif", 15))
|
|
.draw()?;
|
|
|
|
let data = [
|
|
0u32, 1, 1, 1, 4, 2, 5, 7, 8, 6, 4, 2, 1, 8, 3, 3, 3, 4, 4, 3, 3, 3,
|
|
];
|
|
|
|
chart.draw_series(
|
|
Histogram::vertical(&chart)
|
|
.style(RED.mix(0.5).filled())
|
|
.data(data.iter().map(|x: &u32| (*x, 1))),
|
|
)?;
|
|
|
|
Ok(())
|
|
}
|
|
#[test]
|
|
fn entry_point() {
|
|
main().unwrap()
|
|
}
|