How to ensure text on plot always in front?
60 次查看(过去 30 天)
显示 更早的评论
Hi all,
I plot some surfaces and label some points on the surface with it's value of z-axis, as shown on the figure. You can see that the black texts on figure 3-4 are all covered by the surfaces. How can I make sure that the black texts are always in front such that they can be seen?
Many thanks!
4 个评论
José-Luis
2017-8-29
A workaround would be to make your shape a bit transparent. Modify the Alpha property. Otherwise, you could try making your text an annotation.
José-Luis
2017-8-29
Also, it might be a rendering issue. Have you tried saving to file and looking there.
Testing different renderers might also help.
采纳的回答
Teja Muppirala
2017-8-29
One workaround would be to create an invisible axes on top, and then put the text in there.
figure
ax1 = axes;
mesh(ax1,peaks)
colorbar;
t(1) = text(25,25,1,'My text'); % The text will be obscured by the mesh
t(2) = text(10, 30,-2,'More text');
axHidden = axes('Visible','off','hittest','off'); % Invisible axes
linkprop([ax1 axHidden],{'CameraPosition' 'XLim' 'YLim' 'ZLim' 'Position'}); % The axes should stay aligned
set(t,'Parent',axHidden); % Put the text in the invisible Axes
2 个评论
Adam
2017-8-29
+1
The last 3 lines are very instructive for numerous similar purposes. I created a solution to one of my problems by adding a second invisible axes on top of my original, but I spent ages messing around with problems caused by zooming, panning, adding a colourbar etc.
This method still causes trouble if you mess about with colourbars on and off, but for zooming and panning it solves all those problems.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!