Skip to content

`mgp[1:3]' are of differing sign (PR#14130)

4 messages · cornell.p.gonschior at iem.fh-friedberg.de, Peter Dalgaard, Peter Ehlers

#
Full_Name: Cornell Gonschior
Version: 2.10.0
OS: Linux
Submission from: (NULL) (212.201.28.40)


Hi,

in the introduction to R, you can find the following sentence in the par()
chapter:
"Use tck=0.01 and mgp=c(1,-1.5,0) for internal tick marks."
I thought that's nice, because I wanted to have tick marks and tick labels
inside and the axis title outside.

But:
Warnmeldungen:
1: In plot.window(...) : `mgp[1:3]' are of differing sign
2: In plot.xy(xy, type, ...) : `mgp[1:3]' are of differing sign
3: In axis(side = side, at = at, labels = labels, ...) :
  `mgp[1:3]' are of differing sign
4: In axis(side = side, at = at, labels = labels, ...) :
  `mgp[1:3]' are of differing sign
5: In box(...) : `mgp[1:3]' are of differing sign
6: In title(...) : `mgp[1:3]' are of differing sign
Warnmeldung:
In par(las = 1, tck = 0.01, mgp = c(1, -1, 0)) :
  `mgp[1:3]' are of differing sign

Was there a recent change, couldn't find anything useful searching the web.

Regards,
Cornell
#
cornell.p.gonschior at iem.fh-friedberg.de wrote:
Well, it's only a warning, making you aware of a possibly
unintended par setting. Warnings are good things but if you
don't want to see them, they can be suppressed.

Certainly not a bug.

  -Peter Ehlers

  
    
#
Peter Ehlers wrote:
Hmm, then again, I tend to agree with Cornell that there are a bit too 
many cases where mgp[1:3]' would sensibly have differing sign, compared 
to cases where it is a mistake. In addition to internal tick marks and 
labels, there are also cases where the whole axis is shifted into the 
plot area. I'd more likely use axis(pos=...) for that, but still.
#
Peter Dalgaard wrote:
And, I suppose, if R-Intro mentions it, it would be less confusing
if there were mention of the warning. But use of R conditions one to
seeing warnings as a good thing. Can't count the number of times
I've seen "longer ... is not a multiple of shorter ..." and having
it catch a silly user error.