diff --git a/manimlib/mobject/number_line.py b/manimlib/mobject/number_line.py index e16382e6..a55f7e1e 100644 --- a/manimlib/mobject/number_line.py +++ b/manimlib/mobject/number_line.py @@ -143,17 +143,21 @@ class NumberLine(Line): x: float, direction: np.ndarray | None = None, buff: float | None = None, + unit: float = 1.0, + unit_tex: str = "", **number_config ) -> DecimalNumber: number_config = merge_dicts_recursively( - self.decimal_number_config, number_config + self.decimal_number_config, number_config, ) if direction is None: direction = self.line_to_number_direction if buff is None: buff = self.line_to_number_buff + if unit_tex: + number_config["unit"] = unit_tex - num_mob = DecimalNumber(x, **number_config) + num_mob = DecimalNumber(x / unit, **number_config) num_mob.next_to( self.number_to_point(x), direction=direction, @@ -162,6 +166,10 @@ class NumberLine(Line): if x < 0 and direction[0] == 0: # Align without the minus sign num_mob.shift(num_mob[0].get_width() * LEFT / 2) + if x == unit and unit_tex: + center = num_mob.get_center() + num_mob.remove(num_mob[0]) + num_mob.move_to(center) return num_mob def add_numbers(