| 1 | use plotters::{prelude::*, style::full_palette::ORANGE}; |
| 2 | |
| 3 | const OUT_FILE_NAME: &'static str = "plotters-doc-data/pie-chart.png" ; |
| 4 | fn main() -> Result<(), Box<dyn std::error::Error>> { |
| 5 | let root_area = BitMapBackend::new(&OUT_FILE_NAME, (950, 700)).into_drawing_area(); |
| 6 | root_area.fill(&WHITE).unwrap(); |
| 7 | let title_style = TextStyle::from(("sans-serif" , 30).into_font()).color(&(BLACK)); |
| 8 | root_area.titled("BEST CIRCLES" , title_style).unwrap(); |
| 9 | |
| 10 | let dims = root_area.dim_in_pixel(); |
| 11 | let center = (dims.0 as i32 / 2, dims.1 as i32 / 2); |
| 12 | let radius = 300.0; |
| 13 | let sizes = vec![66.0, 33.0]; |
| 14 | let _rgba = RGBAColor(0, 50, 255, 1.0); |
| 15 | let colors = vec![RGBColor(0, 50, 255), CYAN]; |
| 16 | let labels = vec!["Pizza" , "Pacman" ]; |
| 17 | |
| 18 | let mut pie = Pie::new(¢er, &radius, &sizes, &colors, &labels); |
| 19 | pie.start_angle(66.0); |
| 20 | pie.label_style((("sans-serif" , 50).into_font()).color(&(ORANGE))); |
| 21 | pie.percentages((("sans-serif" , radius * 0.08).into_font()).color(&BLACK)); |
| 22 | root_area.draw(&pie)?; |
| 23 | |
| 24 | Ok(()) |
| 25 | } |
| 26 | |