From 90e8a397b81c69ff6466c7d4cd14d151b864de90 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Fri, 18 Nov 2022 09:09:21 -0800 Subject: [PATCH] add_axis_labels for ThreeDAxes --- manimlib/mobject/coordinate_systems.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/manimlib/mobject/coordinate_systems.py b/manimlib/mobject/coordinate_systems.py index a3bbd115..ca403ba2 100644 --- a/manimlib/mobject/coordinate_systems.py +++ b/manimlib/mobject/coordinate_systems.py @@ -533,6 +533,17 @@ class ThreeDAxes(Axes): def get_all_ranges(self) -> list[Sequence[float]]: return [self.x_range, self.y_range, self.z_range] + def add_axis_labels(self, x_tex="x", y_tex="y", z_tex="z", font_size=24, buff=0.2): + x_label, y_label, z_label = labels = VGroup(*( + Tex(tex, font_size=font_size) + for tex in [x_tex, y_tex, z_tex] + )) + z_label.rotate(PI / 2, RIGHT) + for label, axis in zip(labels, self): + label.next_to(axis, normalize(np.round(axis.get_vector()), 2), buff=buff) + axis.add(label) + self.axis_labels = labels + def get_graph(self, func, color=BLUE_E, opacity=0.9, **kwargs): xu = self.x_axis.unit_size yu = self.y_axis.unit_size