How to ensure text on plot always in front?
조회 수: 39 (최근 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!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166938/image.png)
댓글 수: 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!