Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

In a recent posting, Belisarius solved a problem related to the display of arrows on the x and y axes by setting ImagePadding->None.

My question is: why do the parameters of Arrowheads interfere with the default settings of ImagePadding? Or is something else going on?

The following illustrates what I am referring to:

Grid[{Table[Plot[1/x^5, {x, -20, 20}, AxesStyle -> Arrowheads[{0, k}]], 
{k, {.0003, .0015, .003, .015, .03}}]}, Frame -> All]


Below are the same plots, with ImagePadding set to None.

ImagePadding -> None], {k, {.0003, .0015, .003, .015, .03}}]}, 
Frame -> All]

more plots

The arrowheads are plotted but too small to be seen at the present scale.

share|improve this question
add comment

1 Answer

up vote 11 down vote accepted

It is most likely a bug in the image size calculation routine.

Notwithstanding the arrowheads' sizes are going to be considered as absolute values in image "pixels" for drawing them, when the image size is being calculated the routine reserves enough space to draw the arrows as if they were specified in plot coordinates.

Look in the following example how a 0.05 y axis space is calculated because that is the size of the arrow heads.

Framed@Plot[1/x^5, {x, -9, 9}, AxesStyle -> Arrowheads[.05], 
  Frame -> True, ImagePadding -> All, 
  PlotRange -> {Automatic, {Automatic, .01}}]

Mathematica graphics

share|improve this answer
Seems convincing. Also, I notice that by constraining the maximum y value (through PlotRange) to .01, you heighten the effect. And by changing it to a max of .1, the effect disappears. –  David Carraher Oct 5 '12 at 17:53
and +1 for not confusing me with zero-length arrowheads... :) –  cormullion Oct 5 '12 at 18:31
add comment

Your Answer


