考虑在3D图上定位一些文字:
membrane
xlabel('x'); ylabel('y'); zlabel('z');
view(3);
grid on
text(0,-1,.5,'Test','FontSize',20,'Units','data');
沿y方向稍微移动文字
text(0,-0.7,.5,'Test','FontSize',20,'Units','data');
给出
如图所示,文本被表面切断(隐藏)。 是否可以将最后一个位置(0,-0.7,.5)转换为2D标准化位置? (因为在标准化坐标中绘制文本不会受到曲面的影响(隐藏))。假设归一化位置是(x,y), 那我可以用
text(x,y,'Test','FontSize',20,'Units','normalized');
在3D图表上绘制文字。
所以我的问题是:如何将3D数据点转换为2D标准化图形点?
答案 0 :(得分:0)
似乎有以下作品:
h=text(0,-.7,.5,'Test','FontSize',20,'Units','data','visible','off');
set(h,'Units','normalized');
P=get(h,'Position');
x=P(1); y=P(2);
delete(h);
text(x,y,'Test','Color','r','FontSize',20,'Units','normalized');