Quickly plot data points using markers (scatter plot).
(&mut self, v: T)
| 747 | |
| 748 | /// Quickly plot data points using markers (scatter plot). |
| 749 | pub fn plotm<T: Plotable>(&mut self, v: T) { |
| 750 | // |
| 751 | let pf: PlotFormat = v.into_plot_format(); |
| 752 | |
| 753 | let data = pf.data; |
| 754 | |
| 755 | let lo_x = data.iter().min_by(|q, r| q.x.partial_cmp(&r.x).unwrap()).unwrap().x; |
| 756 | |
| 757 | let lo_y = data.iter().min_by(|q, r| q.y.partial_cmp(&r.y).unwrap()).unwrap().y; |
| 758 | |
| 759 | let up_x = data.iter().max_by(|q, r| q.x.partial_cmp(&r.x).unwrap()).unwrap().x; |
| 760 | |
| 761 | let up_y = data.iter().max_by(|q, r| q.y.partial_cmp(&r.y).unwrap()).unwrap().y; |
| 762 | |
| 763 | let dx = (up_x - lo_x).abs() * 0.1; |
| 764 | let dy = (up_y - lo_y).abs() * 0.1; |
| 765 | |
| 766 | self.set_bounds(Vec2::new(lo_x - dx, lo_y - dy), Vec2::new(up_x + dx, up_y + dy)); |
| 767 | |
| 768 | let new_data = MarkerData { |
| 769 | data: data, |
| 770 | ..Default::default() |
| 771 | }; |
| 772 | |
| 773 | self.data.marker_groups.push(new_data); |
| 774 | } |
| 775 | |
| 776 | /// Quickly plot a function by providing said function. Defaults to a range on the both axes from `-0.2` to `1.2`. |
| 777 | pub fn plot_func(&mut self, f: fn(f32, f32) -> f32) { |
nothing calls this directly
no test coverage detected