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
0 个评论
采纳的回答
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 个评论
更多回答(1 个)
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!