I like to have arrowheads on my plots. For example,

Plot[Sin[x], {x, -3, 3}, AxesStyle -> Arrowheads[.05]]

This puts arrowheads on the ends of the positive axes. However, I have tried the same option in Plot3D and it doesn't seem to do anything.

Plot3D[Sin[x y], {x, -3, 3}, {y, -3, 3}, Boxed -> False, 
 AxesOrigin -> {0, 0, 0}, AxesStyle -> Arrowheads[.05]]

Is there a way to add this functionality as an option to Plot3D? Otherwise it seems like I have to manually create and add in the arrows at their exact positions, which is pain, especially if I want to change the range of my plot. I have to move the arrows individually. It seems like there must be a better way.

  • $\begingroup$ @Kuba AxesEdge doesn't seem to answer the question as I am asking how to include arrows on the axes in Plot3D. AxesEdge just allows me to change which axes to include in the bounding box. $\endgroup$ – Michael McCain Dec 8 '15 at 7:33
  • 1
    $\begingroup$ Right, sorry, missed your point. $\endgroup$ – Kuba Dec 8 '15 at 7:52
  • $\begingroup$ @Kuba, it seems this question will be closed as a duplicate, but in the linked question, the accepted answer doesn't actually show how to add the arrows to a Plot3D. In order to apply Jens's function to a general Plot3D, all three axes would need to be the same length, and some trial and error is needed to find that length. $\endgroup$ – Jason B. Dec 8 '15 at 9:41
  • $\begingroup$ @JasonB Tell this to Jens :P It doesn't change the fact that it is a duplicate. But I agree that old accepted answers are not encouraging to answer them. I think your newest question is good solution to this situation. $\endgroup$ – Kuba Dec 8 '15 at 9:43
  • $\begingroup$ Wait, did you just stick out your virtual tongue at me? The level of discourse on this site, lol. $\endgroup$ – Jason B. Dec 8 '15 at 10:02

Browse other questions tagged or ask your own question.