I want to use a 4th dimension as color in quiver 3d plot.

5 views (last 30 days)
I have 3d vectors which I would like to plot in 3d space. I have a 4th parameter that specifies the characteristics of this 3d vector. Now I want to use color to specify this 4th dimension. I want to plot using quiver because i would like to see the arrow head.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 17 Nov 2020
You will find at least a couple of color-capable quiver-like submissions on the file exchange. For example: quiver3_c or quiver2.
HTH
  4 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 18 Nov 2020
Well, the function is only 15 lines long, so shouldn't take too long to figure out. I'd change it to return q instead of n (which is a useless dummy-variable set to one.). That would give you the handles to the quivers as a variable. Then this example modified from the help of quiver3 seems to work OK:
[x,y] = meshgrid(-2:.2:2,-1:.15:1);
z = x .* exp(-x.^2 - y.^2);
[u,v,w] = surfnorm(x,y,z);
quiver3_c(x,y,z,u,v,w,x); hold on, surf(x,y,z), hold off
colorbar
caxis
% Returns:
% -0.4208 0.4208
% Let's modify it to the range of x:
caxis([min(x(:)),max(x(:))])
HTH

Sign in to comment.

More Answers (0)

Categories

Find more on Vector Fields in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!