How to rotate the symblo only in the 3D map

36 次查看(过去 30 天)
I want to rotate the symbol(the marker) inside the figure, how to make the marker parrallel to X-Y surface as shown in fig.2?
thanks very much in advance

采纳的回答

Walter Roberson
Walter Roberson 2013-2-7
The closest MATLAB gets to this in the built-in facilities is that scatter3() creates markers as patch objects, which you could post-process to become discs.
You might be able to find something in the File Exchange; I do not recall having happened upon it, but I wasn't looking for it either.
  4 个评论
joe joe
joe joe 2013-2-8
thanks roberson! I would like to try it again and let you know the results later time.
Walter Roberson
Walter Roberson 2016-11-18
Note: this solution will not work from R2014b onward.

请先登录,再进行评论。

更多回答(1 个)

ChristianW
ChristianW 2013-2-8
编辑:ChristianW 2013-2-8
Here is a simple basic part.
n = 100;
X = randi(n,30,1); Y = randi(n,30,1); Z = randi(n,30,1);
r = 4; % factor for radius scale
uZ = unique(Z);
cmap = jet(length(uZ));
for i = 1:length(Z)
R = r * (mean(Z)/300 + (Z(i)-min(Z))/range(Z));
[x,y] = pol2cart(0:pi/8:2*pi,R);
z = zeros(length(x));
C = cmap(uZ==Z(i),:);
patch(x+X(i),y+Y(i),z+Z(i),C,'EdgeColor','none')
end
axis tight; box on; view(23,60)
Scaling the patches for all possible inputs isnt done here. Some manual scaling can be done with r.
  3 个评论
ChristianW
ChristianW 2013-2-8
Both true, changed/edited the code, thanks.
joe joe
joe joe 2013-2-8
编辑:joe joe 2013-2-8
good discussion! i learned a lot from you. thanks ,Robberson and ChristianW!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by