Even though an answer was already accepted, let me post how I like to make axes in 3D:
First, define a general 3D arrow, called arrowLine
(it allows a more robust way of specifying the proportions of the shape, compared to the built-in Arrow
command). See this answer. Then I combine three such arrows in the function arrowAxes
to make a coordinate system:
Options[arrowLine] = {Thickness -> .1, "HeadScale" -> 3};
arrowLine[{p1_, p2_},
OptionsPattern[]] :=
(*p1 and p2 are 3D points. They are passed as a list*)
Module[{p3, scale2, norm, pyramidHeight = 3/2},
scale2 = OptionValue["HeadScale"]*OptionValue[Thickness];
norm = Norm[p2 - p1];
If[norm > scale2*pyramidHeight,
p3 = p1 + (p2 - p1)/norm (norm - scale2 pyramidHeight);
{EdgeForm[], Cylinder[{p1, p3}, OptionValue[Thickness]],
GeometricTransformation[
GraphicsComplex[{{0, 0, pyramidHeight}, {0, -1, 0}, {0, 1,
0}, {-1, 0, 0}, {1, 0, 0}},
Polygon[{{3, 4, 1}, {4, 2, 1}, {2, 5, 1}, {5, 3, 1}, {5, 2, 4,
3}}]], Composition[TranslationTransform[p3],
Quiet[RotationTransform[{{0, 0, 1},
p2 - p1}], {RotationMatrix::degen, RotationTransform::spln}],
ScalingTransform[scale2 {1, 1, 1}]]]}, {}]]
arrowAxes[forwardLength_, backwardLength_: 0] :=
Map[{Apply[RGBColor, #],
arrowLine[{-backwardLength #, forwardLength #},
Thickness -> .05]} &, IdentityMatrix[3]]
Now the 3D axes can be combined with a partially translucent sphere as follows:
Graphics3D[{{Opacity[.7], Orange, Sphere[]}, arrowAxes[3, 3]},
Boxed -> False, Lighting -> "Neutral", Background -> Gray]

The translucent effect is created by Opacity
and the axes are drawn by arrowAxes[3, 3]
. Here, the first argument is the length of the arrows in the forward direction from the origin, and the second argument is the length in the reverse direction. You can omit the second argument to get axes that only extend in the forward direction (bordering the first octant).
AxesOrigin -> {0, 0, 0}
? $\endgroup$Boxed -> False
? AndOpacity[0.5]
for the sphere? $\endgroup$Axes -> True
! $\endgroup$