def create_axis(self, range_terms: Sequence[float], axis_config: dict[str], length: float) -> NumberLine: new_config = merge_dicts_recursively(self.axis_config, axis_config) new_config["width"] = length axis = NumberLine(range_terms, **new_config) axis.shift(-axis.n2p(0)) return axis
def get_lines_parallel_to_axis(self, axis1: NumberLine, axis2: NumberLine) -> tuple[VGroup, VGroup]: freq = axis2.x_step ratio = self.faded_line_ratio line = Line(axis1.get_start(), axis1.get_end()) dense_freq = (1 + ratio) step = (1 / dense_freq) * freq lines1 = VGroup() lines2 = VGroup() inputs = np.arange(axis2.x_min, axis2.x_max + step, step) for i, x in enumerate(inputs): new_line = line.copy() new_line.shift(axis2.n2p(x) - axis2.n2p(0)) if i % (1 + ratio) == 0: lines1.add(new_line) else: lines2.add(new_line) return lines1, lines2
def create_axis(self, *args): if args[2] is not None and not isinstance(args[2], (int, float)): min_val, max_val, axis_config = args new_config = merge_dicts_recursively( self.number_line_config, { "x_min": min_val, "x_max": max_val }, axis_config, ) return NumberLine(**new_config) else: range_terms, axis_config, length = args new_config = merge_dicts_recursively(self.axis_config, axis_config) new_config["width"] = length axis = NumberLine(range_terms, **new_config) axis.shift(-axis.n2p(0)) return axis
def create_axis(self, range_terms, axis_config, length): new_config = merge_dicts_recursively(self.axis_config, axis_config) new_config["width"] = length axis = NumberLine(range_terms, **new_config) axis.shift(-axis.n2p(0)) return axis