From e683419241d50873a9b68a7b303d2cd40573b5ba Mon Sep 17 00:00:00 2001 From: Scott Shambaugh Date: Fri, 15 Jul 2022 16:14:08 -0500 Subject: [PATCH] Fix div0 runtime error --- lib/mpl_toolkits/mplot3d/proj3d.py | 2 +- lib/mpl_toolkits/tests/test_mplot3d.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/proj3d.py b/lib/mpl_toolkits/mplot3d/proj3d.py index 9c5b0565dfe8..2f23e3779b06 100644 --- a/lib/mpl_toolkits/mplot3d/proj3d.py +++ b/lib/mpl_toolkits/mplot3d/proj3d.py @@ -21,7 +21,7 @@ def _line2d_seg_dist(p1, p2, p0): x01 = np.asarray(p0[0]) - p1[0] y01 = np.asarray(p0[1]) - p1[1] - if np.all(p1 == p2): + if np.all(p1[0:2] == p2[0:2]): return np.hypot(x01, y01) x21 = p2[0] - p1[0] diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 505cb4f0c50f..13b6100a505d 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -1011,11 +1011,13 @@ def test_lines_dists(): def test_lines_dists_nowarning(): # Smoke test to see that no RuntimeWarning is emitted when two first # arguments are the same, see GH#22624 - p0 = (10, 30) - p1 = (20, 150) - proj3d._line2d_seg_dist(p0, p0, p1) + p0 = (10, 30, 50) + p1 = (10, 30, 20) + p2 = (20, 150) + proj3d._line2d_seg_dist(p0, p0, p2) + proj3d._line2d_seg_dist(p0, p1, p2) p0 = np.array(p0) - proj3d._line2d_seg_dist(p0, p0, p1) + proj3d._line2d_seg_dist(p0, p0, p2) def test_autoscale():