MATLAB: Quiver uniform arrows spacing

arrowsquiver

Hello,
I have the following data (attached) that want to use in quiver plot as follows:
quint = 20;
quiver(xplot(1:quint:end),yplot(1:quint:end),uplot(1:quint:end),vplot(1:quint:end),1, 'Color','k','LineWidth',1)
My grid has a resolution of 50 m but when I reduce the number of arrows with quint to plot every 20th arrow, I get very dense arrows in the diagonal direction on the grid (attached figure).
I would like to have uniform distribution of arrows in the x and y directions.
Can you help me out wth this please?
Thanks.
djr

Best Answer

  • You can decrease the density of arrows by downsampling, both along rows and columns
    xplot = streamplot{1};
    yplot = streamplot{2}.';
    uplot = streamplot{3};
    vplot = streamplot{4}.';
    quint = 20;
    quiver(xplot(1:quint:end,1:quint:end), yplot(1:quint:end,1:quint:end), ...
    uplot(1:quint:end,1:quint:end), vplot(1:quint:end,1:quint:end))