mirror of
https://github.com/3b1b/manim.git
synced 2025-07-28 20:43:56 +08:00
Add unit_tex option for NumberLine.add_numbers
This commit is contained in:
@ -143,17 +143,21 @@ class NumberLine(Line):
|
|||||||
x: float,
|
x: float,
|
||||||
direction: np.ndarray | None = None,
|
direction: np.ndarray | None = None,
|
||||||
buff: float | None = None,
|
buff: float | None = None,
|
||||||
|
unit: float = 1.0,
|
||||||
|
unit_tex: str = "",
|
||||||
**number_config
|
**number_config
|
||||||
) -> DecimalNumber:
|
) -> DecimalNumber:
|
||||||
number_config = merge_dicts_recursively(
|
number_config = merge_dicts_recursively(
|
||||||
self.decimal_number_config, number_config
|
self.decimal_number_config, number_config,
|
||||||
)
|
)
|
||||||
if direction is None:
|
if direction is None:
|
||||||
direction = self.line_to_number_direction
|
direction = self.line_to_number_direction
|
||||||
if buff is None:
|
if buff is None:
|
||||||
buff = self.line_to_number_buff
|
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(
|
num_mob.next_to(
|
||||||
self.number_to_point(x),
|
self.number_to_point(x),
|
||||||
direction=direction,
|
direction=direction,
|
||||||
@ -162,6 +166,10 @@ class NumberLine(Line):
|
|||||||
if x < 0 and direction[0] == 0:
|
if x < 0 and direction[0] == 0:
|
||||||
# Align without the minus sign
|
# Align without the minus sign
|
||||||
num_mob.shift(num_mob[0].get_width() * LEFT / 2)
|
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
|
return num_mob
|
||||||
|
|
||||||
def add_numbers(
|
def add_numbers(
|
||||||
|
Reference in New Issue
Block a user