Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 09e044c

Browse filesBrowse files
committed
Merge pull request #4969 from tacaswell/fix_line2D_remove
FIX: account for None in Line2D.axes setter
2 parents 7ffef32 + 344abbf commit 09e044c
Copy full SHA for 09e044c

File tree

Expand file treeCollapse file tree

2 files changed

+16
-9
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+16
-9
lines changed

‎lib/matplotlib/lines.py

Copy file name to clipboardExpand all lines: lib/matplotlib/lines.py
+8-7Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -568,13 +568,14 @@ def get_window_extent(self, renderer):
568568
def axes(self, ax):
569569
# call the set method from the base-class property
570570
Artist.axes.fset(self, ax)
571-
# connect unit-related callbacks
572-
if ax.xaxis is not None:
573-
self._xcid = ax.xaxis.callbacks.connect('units',
574-
self.recache_always)
575-
if ax.yaxis is not None:
576-
self._ycid = ax.yaxis.callbacks.connect('units',
577-
self.recache_always)
571+
if ax is not None:
572+
# connect unit-related callbacks
573+
if ax.xaxis is not None:
574+
self._xcid = ax.xaxis.callbacks.connect('units',
575+
self.recache_always)
576+
if ax.yaxis is not None:
577+
self._ycid = ax.yaxis.callbacks.connect('units',
578+
self.recache_always)
578579

579580
def set_data(self, *args):
580581
"""

‎lib/matplotlib/tests/test_artist.py

Copy file name to clipboardExpand all lines: lib/matplotlib/tests/test_artist.py
+8-2Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,21 +150,27 @@ def test_cull_markers():
150150
def test_remove():
151151
fig, ax = plt.subplots()
152152
im = ax.imshow(np.arange(36).reshape(6, 6))
153+
ln, = ax.plot(range(5))
153154

154155
assert_true(fig.stale)
155156
assert_true(ax.stale)
156157

157158
fig.canvas.draw()
158159
assert_false(fig.stale)
159160
assert_false(ax.stale)
161+
assert_false(ln.stale)
160162

161163
assert_true(im in ax.mouseover_set)
164+
assert_true(ln not in ax.mouseover_set)
162165
assert_true(im.axes is ax)
163166

164167
im.remove()
168+
ln.remove()
169+
170+
for art in [im, ln]:
171+
assert_true(art.axes is None)
172+
assert_true(art.figure is None)
165173

166-
assert_true(im.axes is None)
167-
assert_true(im.figure is None)
168174
assert_true(im not in ax.mouseover_set)
169175
assert_true(fig.stale)
170176
assert_true(ax.stale)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.