40 views (last 30 days)

Hi Everyone,

I want to plot arrows with different magnitude and directions in different colors.The code need to calculate the angle of the each vector and fit them in the colormap.

This is what I have wrote but is there anyone that can help me to find the example or any other command or function in matlab that can plot this for me?

for i=1:40

structure(i,:,:)=rombohedral((i-1)*338+1:i*338,:);

X=structure(i,:,4);

Y=structure(i,:,5);

Z=structure(i,:,6);

U=structure(i,:,7);

V=structure(i,:,8);

W=structure(i,:,9);

C=zeros(338,3);

C(1:300,1)=1;

C(300:end,2)=1;

figure(i)

figure(i)

title('2D')

t=num2str(i);

xlabel([t,' ps'])

hold on

for j=1:338

if (U(j)>0)

quiver(X(j),Y(j),U(j),W(j),'color',[1 0 0])

elseif (U(j)<0)

quiver(X(j),Y(j),U(j),W(j),'color',[0 1 1])

elseif (V(j)>0)

quiver(X(j),Y(j),W(j),V(j),'color',[0 1 0])

elseif (V(j)<0)

quiver(X(j),Y(j),W(j),V(j),'color',[1 0 1])

end

end

end

Thorsten
on 11 Nov 2019

Create a circular colormap:

cmap = colormap(hsv(360));

In the loop: compute the angle and an index into the colormap from the angle

alpha = atan2(W(j), U(j)); % or V(j), W(j) depending on your elseif clause

Convert angle to index

idx = ceil(rad2deg(alpha));

if alpha < 1 % negative indices and 0 are invalid

idx = idx + 360;

end

set(h, 'Color', cmap(idx,:)) % before, change each quiver command to h = quiver(...)

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490351-different-colours-for-arrows-in-quiver-plot#comment_765987

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490351-different-colours-for-arrows-in-quiver-plot#comment_765987

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490351-different-colours-for-arrows-in-quiver-plot#comment_766040

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490351-different-colours-for-arrows-in-quiver-plot#comment_766040

Sign in to comment.