Change arrow head size in e.g. quiver plots

I am trying to make a quiver plot using Plots. Unfortunatley, the heads of the arrows keeps being way to large for the plot to be usable. I have been trying various arguments to change this, but nothing seems to help.

Here is with open arrows heads:

Plots.quiver(arrow_x_vals, arrow_y_vals; quiver=(arrow_dxs,arrow_dys), markersize=0.1, line_z=arrow_cs, lw=0.5, size=(700,400))

image

here is with closed ones

Plots.quiver(arrow_x_vals, arrow_y_vals; quiver=(arrow_dxs,arrow_dys), markersize=0.1, arrow=Plots.arrow(:closed, :head, 0.01, 0.01), line_z=arrow_cs, lw=0.5, size=(700,400))

image

I have tried changing the size pf the plot plane (size), the line width, the markersize, the input to arrow. Nothing seems to change and the arrow heads keeps being large blobs.

Check one possibility on this other post.

1 Like

Thanks, will have a look. Ideally, Iā€™d really like to avoid Makie.
(I will try using arrow0! though)

Other options. GMT.jl does some automatic arrow head resizing.
https://www.generic-mapping-tools.org/GMTjl_doc/examples/arrows/10_arrows/#example_18352513429053479678

1 Like

Reducing the number of gridpoints in the vertical direction will give more space for arrows & their heads and make the quiver plot look more natural and balanced. Try just eliminating half the data in the vertical direction.

1 Like

I can remove some data, and that might be good for independent reasons. But the arrow heads are still the same size and look ludicrous when they are waaaay larger than the arrow body.

Yes, I saw a good version in Makie as well. But I have everything else in a complicated plot in place and would rather avoid learning an entirely new plotting language for a single figure.