Skip to content

Commit de55ffb

Browse files
Deep SharanDeep Sharan
authored andcommitted
Fix AttributeError: NumberLine object has no attribute 'default_numbers_to_display'
- Add missing default_numbers_to_display() method to NumberLine class - Method returns tick range excluding numbers in numbers_to_exclude list - Resolves issue where get_number_mobjects() would fail with AttributeError - Fixes #4244
1 parent 855ea86 commit de55ffb

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

manim/mobject/graphing/number_line.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,23 @@ def get_number_mobject(
503503
num_mob.shift(num_mob[0].width * LEFT / 2)
504504
return num_mob
505505

506+
def default_numbers_to_display(self) -> np.ndarray:
507+
"""Returns the default numbers to display on the number line.
508+
509+
This method returns the tick range excluding numbers that are in
510+
the numbers_to_exclude list.
511+
512+
Returns
513+
-------
514+
np.ndarray
515+
Array of numbers that should be displayed by default.
516+
"""
517+
tick_range = self.get_tick_range()
518+
if self.numbers_to_exclude:
519+
# Filter out excluded numbers
520+
return np.array([x for x in tick_range if x not in self.numbers_to_exclude])
521+
return tick_range
522+
506523
def get_number_mobjects(self, *numbers: float, **kwargs: Any) -> VGroup:
507524
if len(numbers) == 0:
508525
numbers = self.default_numbers_to_display()

0 commit comments

Comments
 (0)