Axes' labels gone under perspective projection?

2 次查看(过去 30 天)
Recently I've been using slice to visualize 3D grid. Everything is fine if the projection is orthographic. If I set(gca,'projection','perspective'), all the axis labels are gone. They can be restored when the projection is set back to orthographic. Anyone knows why and how to fix it?
I'm using 2012b. Thanks!!!

回答(3 个)

Walter Roberson
Walter Roberson 2013-11-15
Random guess: try
opengl software
If that doesn't work we will need to know which operating system you are running on (including version)
  1 个评论
Dikun
Dikun 2013-11-15
Doesn't work... It happened on both Windows 7 and 8. My current workaround is to use text(x,y,z,string). But it's static if I rotate the object. Still want to use xlabel.

请先登录,再进行评论。


Mike
Mike 2013-11-22
I'm running into the same issue with patch. I found that if the number of patches is small, and I do not use FaceAlpha, labels are displayed correctly. But, these limitations are frustrating.
figure(1)
clf
view(3);
camproj('perspective') % If commented out, labels are shown
axis vis3d
N = 1e3; % Labels disapear for high N
fv.Faces = [1:N-2;2:N-1;3:N]';
fv.Vertices = randn(N,3);
%patch(fv,'EdgeColor',repmat(0.6,1,3),'FaceColor',[0.6 0.6 0.8])
patch(fv,'EdgeColor',repmat(0.6,1,3),'FaceColor',[0.6 0.6 0.8]...
,'FaceAlpha',0.5) % Labels diasapear when alpha is used
xlabel('x')
ylabel('y')
zlabel('z')
  2 个评论
Walter Roberson
Walter Roberson 2013-11-23
Mike: Using FaceAlpha would force it to use the opengl renderer, which is the only one that supports transparency.
Have you experimented with "opengl software" that I mentioned above?
Mike
Mike 2013-12-18
Sorry, I did not notice your response until now.
Yes, I have tried the opengl software command. But I noticed no difference.
I too am running Windows 7. MATLAB 2011a.

请先登录,再进行评论。


Iman
Iman 2014-5-12
I've been having this problem as well. What I've found is 'painter' or 'zbuffer' keeps the titles and axes:
set(gcf,'Renderer','zbuffer')
or
set(gcf,'Renderer','painters')
(as opposed to set(gcf,'Renderer','OpenGL').
However other problems show up:
painter rendering does does seem to support RGB cdata (i have a patched object which disappears when i used painter rendering,
zbuffer rendering does not allow transparency.
This are things which I need to show so fixing the title and axes position has created these other problems.
But if you need the title and axes and don't need to worry about transparency or patch coloring, the other renderings would fix your problem.

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by