Skip to content

Commit defce2e

Browse files
authored
Merge pull request #15392 from choyiny/arrow-autoscale
Autoscale for ax.arrow()
2 parents ee15e90 + f4e7d6c commit defce2e

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

doc/api/next_api_changes/behaviour.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,7 @@ Shortcuts for closing all figures now also work for the classic toolbar.
129129
There is no default shortcut any more because unintentionally closing all figures by a key press
130130
might happen too easily. You can configure the shortcut yourself
131131
using :rc:`keymap.quit_all`.
132+
133+
Autoscale for arrow
134+
~~~~~~~~~~~~~~~~~~~
135+
Calling ax.arrow() will now autoscale the axes.

lib/matplotlib/axes/_axes.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4959,7 +4959,8 @@ def arrow(self, x, y, dx, dy, **kwargs):
49594959
dy = self.convert_yunits(dy)
49604960

49614961
a = mpatches.FancyArrow(x, y, dx, dy, **kwargs)
4962-
self.add_artist(a)
4962+
self.add_patch(a)
4963+
self._request_autoscale_view()
49634964
return a
49644965

49654966
@docstring.copy(mquiver.QuiverKey.__init__)

lib/matplotlib/tests/test_axes.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,13 @@ def test_arrow_empty():
468468
ax.arrow(0, 0, 0, 0, head_length=0)
469469

470470

471+
def test_arrow_in_view():
472+
_, ax = plt.subplots()
473+
ax.arrow(1, 1, 1, 1)
474+
assert ax.get_xlim() == (0.8, 2.2)
475+
assert ax.get_ylim() == (0.8, 2.2)
476+
477+
471478
def test_annotate_default_arrow():
472479
# Check that we can make an annotation arrow with only default properties.
473480
fig, ax = plt.subplots()

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy