How to ensure text on plot always in front?

117 ビュー (過去 30 日間)
Xiaohan Du
Xiaohan Du 2017 年 8 月 29 日
コメント済み: Xiaohan Du 2017 年 8 月 29 日
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
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
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 件のコメント
Xiaohan Du
Xiaohan Du 2017 年 8 月 29 日
Hi both,
This is quite complex compare with just making the surfaces transparent, I tried Jose's solution with modifying the Alpha property and it's like this:
I think it's much better.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by