MATLAB: How to set colors in quiver (2D)

colorquiver

Hi, im using the quiver function to plot arrows on a profile
so i want that the arrows which are turning inwards to be colored in a different color (blue). Also, i have a vector telling me which of them is turning inwards.
how can i do that?
thanks, Noa

Best Answer

I would separate the elements which are turning inward vs outward since you have a vector of indices and use two different calls to quiver() with the plot held on.
Then you can use
quiver(x,y,px,py,'color',[0 0 1])
In other words, use the 'color' linespec to color them blue. For example:
[x,y] = meshgrid(-2:.2:2,-1:.15:1);
z = x .* exp(-x.^2 - y.^2); [px,py] = gradient(z,.2,.15);
contour(x,y,z), hold on
indices = 11:21;
quiver(x(:,indices),y(:,indices),px(:,indices),py(:,indices),'color',[0 0 1]);
quiver(x(:,1:10),y(:,1:10),px(:,1:10),py(:,1:10),'color',[1 0 0]);