I want to combine a surf and a scatter3 in a single axes so that the scatter points are displayed above or below the surface (dependent of there Z value) in the same coordinate system.
When creating surf or scatter3 the axes handle is provided as a first parameter
surf( handles.myAxes, ...
scatter( handels.myAxes, ...
I also tried
surf( handles.myAxes, ...
hold on;
scatter( handels.myAxes, ...
The result remains always the same. Only the scatter3 points are shown in axes. The surf is invisible.
My questions
1) Is it possible to combine a surf and a scatter3 in a single axes at the same time? (Didn't find any hints on this limitation in the docs) 2) If yes how can this be achieved?

 채택된 답변

Mischa Kim
Mischa Kim 2014년 3월 6일
편집: Mischa Kim 2014년 3월 6일

0 개 추천

Thomas, what happens if you execute the following code? With and without the get command?
k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);
surf(x,y,z);
get(gcf, 'Renderer')
hold on
[X,Y,Z] = sphere(16);
xx = 2*[0.5*X(:); 0.75*X(:); X(:)];
yy = 2*[0.5*Y(:); 0.75*Y(:); Y(:)];
zz = 2*[0.5*Z(:); 0.75*Z(:); Z(:)];
scatter3(xx,yy,zz)
get(gcf, 'Renderer')
Is this the behavior you are looking for?

댓글 수: 2

Thomas
Thomas 2014년 3월 6일
This is exactly what I wanted to achieve. I don't see any difference in executing the script with or without get command. Should there be any difference visible?
Walter Roberson
Walter Roberson 2014년 3월 6일
I suspect Mischa wanted you to check to see if the same renderer was being used in both cases. Which I would expect would happen, but renderers cause surprising issues.
If you now comment out the get() calls does the code function?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기

태그

질문:

2014년 3월 6일

댓글:

2014년 3월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by