From 7fb6000189c9bdcdff014c5c6e12582e313891ee Mon Sep 17 00:00:00 2001 From: Floyd Wang Date: Fri, 29 Aug 2025 16:42:59 +0800 Subject: [PATCH] plot(scale): Correct the least index (#1186) --- crates/ui/src/plot/scale/point.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/crates/ui/src/plot/scale/point.rs b/crates/ui/src/plot/scale/point.rs index 185f4faf..b786c08c 100644 --- a/crates/ui/src/plot/scale/point.rs +++ b/crates/ui/src/plot/scale/point.rs @@ -9,7 +9,6 @@ use super::Scale; pub struct ScalePoint { domain: Vec, range_tick: f32, - least_index_range_tick: f32, } impl ScalePoint @@ -18,8 +17,8 @@ where { pub fn new(domain: Vec, range: Vec) -> Self { let len = domain.len(); - let (range_tick, least_index_range_tick) = if len.is_zero() { - (0., 0.) + let range_tick = if len.is_zero() { + 0. } else { let range_diff = range .iter() @@ -28,20 +27,13 @@ where .map_or(0., |(min, max)| max - min); if len == 1 { - (range_diff, range_diff) + range_diff } else { - ( - range_diff / len.saturating_sub(1) as f32, - range_diff / len as f32, - ) + range_diff / len.saturating_sub(1) as f32 } }; - Self { - domain, - range_tick, - least_index_range_tick, - } + Self { domain, range_tick } } } @@ -63,7 +55,7 @@ where return 0; } - let index = (tick / self.least_index_range_tick).round() as usize; + let index = (tick / self.range_tick).round() as usize; index.min(self.domain.len().saturating_sub(1)) } }