Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion manim/mobject/graphing/number_line.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,9 +277,10 @@ def add_ticks(self):
via ``self.ticks``."""
ticks = VGroup()
elongated_tick_size = self.tick_size * self.longer_tick_multiple
elongated_tick_offsets = self.numbers_with_elongated_ticks - self.x_min
for x in self.get_tick_range():
size = self.tick_size
if x in self.numbers_with_elongated_ticks:
if np.any(np.isclose(x - self.x_min, elongated_tick_offsets)):
size = elongated_tick_size
ticks.add(self.get_tick(x, size))
self.add(ticks)
Expand Down
21 changes: 21 additions & 0 deletions tests/module/mobject/graphing/test_ticks.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,27 @@ def test_duplicate_ticks_removed_for_axes():
assert np.unique(ticks).size == ticks.size


def test_elongated_ticks_float_equality():
nline = NumberLine(
x_range=[1 + 1e-5, 1 + 2e-5, 1e-6],
numbers_with_elongated_ticks=[
1 + 12e-6,
1 + 17e-6,
], # Elongate the 3rd and 8th tick
include_ticks=True,
)

tick_heights = {tick.height for tick in nline.ticks}
default_tick_height, elongated_tick_height = min(tick_heights), max(tick_heights)

assert all(
tick.height == elongated_tick_height
if ind in [2, 7]
else tick.height == default_tick_height
for ind, tick in enumerate(nline.ticks)
)


def test_ticks_not_generated_on_origin_for_axes():
axes = Axes(
x_range=[-10, 10],
Expand Down