问题描述
|
Mathematica文档指出:\“三维图形中的文本放置在与指定点{x,y,z}的投影相对应的位置。文本绘制在所有其他对象的前面\”。如何相对于图像尺寸定位文本?
这是可以在2D中完成的方法:
custumLabels = Graphics[{
Text[Style[\"A\",Red,Bold,18],ImageScaled[{0.025,.95}]],Text[Style[\"B\",ImageScaled[{0.95,.05}]]}
];
Framed[Show[
Plot[
Sin[x] Exp[x],{x,10},Frame -> True,PlotRangeClipping -> False,FrameLabel -> {\"x\",\"y\"}
],custumLabels
],FrameMargins -> 0]
只要将“ 1”设置为“ 2”,这些标签将始终显示在该位置。问题是,如果我切换到Graphics3D
,如何使这些标签显示在该特定位置。试试一个简单的。
Framed[Show[
Graphics3D[{Sphere[{0,0},1]}]
],FrameMargins -> 0]
解决方法
3D中的
Epilog
和Prolog
使用缩放的2D坐标系(适用于所有图元):
Graphics3D[{Sphere[]},Epilog -> Text[\"abcdef\",Scaled[{0.1,0.1}]]]