diff --git a/manim/mobject/graphing/number_line.py b/manim/mobject/graphing/number_line.py index efb95ae399..bbe8c7ce7c 100644 --- a/manim/mobject/graphing/number_line.py +++ b/manim/mobject/graphing/number_line.py @@ -379,7 +379,7 @@ def number_to_point(self, number: float | np.ndarray) -> np.ndarray: scalar = number.ndim == 0 number = self.scaling.inverse_function(number) alphas = (number - self.x_range[0]) / (self.x_range[1] - self.x_range[0]) - alphas = float(alphas) if scalar else np.vstack(alphas) + alphas = float(alphas) if scalar else alphas.reshape(-1, 1) val = interpolate(self.get_start(), self.get_end(), alphas) return val diff --git a/manim/mobject/graphing/scale.py b/manim/mobject/graphing/scale.py index 78ffa2308b..f8ea79831c 100644 --- a/manim/mobject/graphing/scale.py +++ b/manim/mobject/graphing/scale.py @@ -6,7 +6,7 @@ import numpy as np -__all__ = ["LogBase", "LinearBase"] +__all__ = ["LogBase", "LinearBase", "UnitLinearBase"] from manim.mobject.text.numbers import Integer @@ -114,6 +114,32 @@ def inverse_function(self, value: float) -> float: return value / self.scale_factor +class UnitLinearBase(LinearBase): + def __init__(self): + """The default scaling class.""" + super().__init__(scale_factor=1.0) + + def function(self, value: float) -> float: + """Multiplies the value by 1.0, i.e. returns the value as is. + + Parameters + ---------- + value + Value to be multiplied by the scale factor. + """ + return value + + def inverse_function(self, value: float) -> float: + """Inverse of function. Divides the value by 1.0, i.e. returns the value as is. + + Parameters + ---------- + value + value to be divided by the scale factor. + """ + return value + + class LogBase(_ScaleBase): def __init__(self, base: float = 10, custom_labels: bool = True): """Scale for logarithmic graphs/functions. diff --git a/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz b/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz index ecc63af125..8fec243f13 100644 Binary files a/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz and b/tests/test_graphical_units/control_data/plot/get_lines_to_point.npz differ