diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 7994d7f8718f..f6caba030f44 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -323,6 +323,7 @@ def draw_pane(self, renderer): @artist.allow_rasterization def draw(self, renderer): self.label._transform = self.axes.transData + self.offsetText._transform = self.axes.transData renderer.open_group("axis3d", gid=self.get_gid()) ticks = self._update_ticks() diff --git a/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/surface3d_label_offset_tick_position.png b/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/surface3d_label_offset_tick_position.png new file mode 100644 index 000000000000..a8b0d4cd665a Binary files /dev/null and b/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/surface3d_label_offset_tick_position.png differ diff --git a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py index b6a556e6deae..dbc0f23876c0 100644 --- a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py +++ b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py @@ -588,6 +588,21 @@ def test_surface3d(): fig.colorbar(surf, shrink=0.5, aspect=5) +@image_comparison(['surface3d_label_offset_tick_position.png'], style='mpl20') +def test_surface3d_label_offset_tick_position(): + ax = plt.figure().add_subplot(projection="3d") + + x, y = np.mgrid[0:6 * np.pi:0.25, 0:4 * np.pi:0.25] + z = np.sqrt(np.abs(np.cos(x) + np.cos(y))) + + ax.plot_surface(x * 1e5, y * 1e6, z * 1e8, cmap='autumn', cstride=2, rstride=2) + ax.set_xlabel("X label") + ax.set_ylabel("Y label") + ax.set_zlabel("Z label") + + ax.figure.canvas.draw() + + @mpl3d_image_comparison(['surface3d_shaded.png'], style='mpl20') def test_surface3d_shaded(): fig = plt.figure()