Overhaul of arrow plotting

Hi all,

As I'm sure many of you know, there's currently a bit of a mess of
functions that can be used for plotting single arrows in Matplotlib. I've
decided to have a go a tackling the mess with a MEP. I have done a first
draft here: https://github.com/matplotlib/matplotlib/wiki/MEP-29-(arrows)

I would appreciate input into defining the end goal; specifically I propose
that we keep and fix (and possibly rename)

- matplotlib.patches.YAArrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.YAArrow>
for plotting in 'display space'
- matplotlib.patches.FancyArrowPatch
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.FancyArrowPatch>
for plotting in 'data space'

and deprecate and eventually remove matplotlib.patches.FancyArrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.FancyArrow>
and matplotlib.patches.Arrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.Arrow>

Does this sound sensible? Please send any thoughts/ideas/feedback to the
mailing list.

All the best,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20170308/aadac4fe/attachment.html>

I obviously have thought much less about this than you, but is there a
reason why you need separate functions to plot in data and in display
space? Could you not just (similarly to `text`) plot in data space by
default and let the user pass `transform=ax.transAxes` to plot in display
space? (Yes, there would be some difficulties regarding the arrow head,
which probably always needs to be plotted in display space -- but it should
be possible to take care of that?)

My 2c,

Antony

2017-03-08 13:08 GMT-08:00 David Stansby <dstansby at gmail.com>:

Hi all,

As I'm sure many of you know, there's currently a bit of a mess of
functions that can be used for plotting single arrows in Matplotlib. I've
decided to have a go a tackling the mess with a MEP. I have done a first
draft here: MEP 29 (arrows) · matplotlib/matplotlib Wiki · GitHub

I would appreciate input into defining the end goal; specifically I
propose that we keep and fix (and possibly rename)

- matplotlib.patches.YAArrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.YAArrow&gt;
for plotting in 'display space'
- matplotlib.patches.FancyArrowPatch
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.FancyArrowPatch&gt;
for plotting in 'data space'

and deprecate and eventually remove matplotlib.patches.FancyArrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.FancyArrow&gt;
and matplotlib.patches.Arrow
<http://matplotlib.org/api/patches_api.html?highlight=arrow#matplotlib.patches.Arrow&gt;

Does this sound sensible? Please send any thoughts/ideas/feedback to the
mailing list.

All the best,
David

_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel at python.org
Matplotlib-devel Info Page

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20170308/cb2fce09/attachment.html&gt;