This code:
arrowAxes[arrowLength_] :=
Map[{Apply[RGBColor, #], Arrow[Tube[{{0, 0, 0}, #}]]} &, arrowLength IdentityMatrix[3]];
Graphics3D[
{Sphere[{1, 1, 1}], arrowAxes[3]},
Axes -> True,
Boxed -> False,
AxesOrigin -> {0, 0, 0},
AxesStyle -> Opacity[0],
TicksStyle -> Opacity[1]]
will produce these plots:
How not to display tick and labels that are behind the sphere? (this is the case in the first and second picture above; third picture is correct in that sense, since blue axis is in front of the sphere)
There is a suspicion that this may be a bug, related to AxisOrigin
. Therefore, I am adding tag "bugs".
AxesEdge
like in this question Method -> {“AxesInFront” -> False} for Graphics3D. But I'm not sure because you want to hide ticks behind Sphere and then you are saying that the third example is correct... $\endgroup$AxesEdge
are different objects which will always be on top of 3D graphics... $\endgroup$AxisOrigin
or not using it are constructed from different base/origin. $\endgroup$