I want to plot arrows with matplotlib so that every arrowhead is of equal size, regardless of of the actual arrow’s size.
Examples:
- current arrowheads:

- desired arrowheads:

The arrows are drawn using matplotlib.pyplot.Arrow():
# p is the point of origin, pdiff the direction
arr = plt.Arrow(p[0], p[1], pdiff[0], pdiff[1], fc=color, width=0.4)
plt.gca().add_patch(arr)
You are after
pylab.arrow(orFancyArrow), then you can specifyhead_widthandhead_lengthso they are not relative to the size of the arrow. Here is an example:Which produces: