I can't get the points and "a" and "b" to render
correctly (they are
squeezed into the axis) unless I make the height of the figure waste a 
lot of space.  I'd appreciate any ideas.  The code is below. Thanks!
png('/tmp/z.png', width=480, height=100)
par(mar=c(3,.5,1,.5))
plot.new()
par(usr=c(-10, 410, -.04, 1.04))
par(mgp=c(1.5,.5,0))
axis(1, at=seq(0, 400, by=50))
axis(1, at=seq(0, 400, by=25), tcl=-.25, labels=FALSE)
title(xlab='Mean Count')
points(x, rep(-.02, length(x)))
lines(rep(.25*1500, 2), c(-.04, .04), col='blue')
lines(rep(.196*1500, 2), c(-.04, .04), col='blue')
text(.25*1500, .07, 'a', col='blue')
text(.196*1500,.07, 'b', col='blue')
dev.off()
It works if I use height=350.
Frank
 > version
                _
platform       x86_64-pc-linux-gnu
arch           x86_64
os             linux-gnu
system         x86_64, linux-gnu
status
major          3
minor          0.1
year           2013
month          05
day            16
svn rev        62743
language       R
version.string R version 3.0.1 (2013-05-16)
nickname       Good Sport
 >
-- 
Frank E Harrell Jr Professor and Chairman      School of Medicine
                    Department of Biostatistics Vanderbilt University
Richard M. Heiberger
2013-Jul-25  23:06 UTC
[R] Can't figure out why short figure won't work
I tried text(.25*1500, .14, 'a', col='blue') text(.196*1500,.14, 'b', col='blue') and got improved spacing. Another option is to take control of ylim, and extend the bottom of ylim a bit lower than the automatically defined value. Rich On Thu, Jul 25, 2013 at 6:54 PM, Frank Harrell <f.harrell@vanderbilt.edu>wrote:> I can't get the points and "a" and "b" to render correctly (they are > squeezed into the axis) unless I make the height of the figure waste a lot > of space. I'd appreciate any ideas. The code is below. Thanks! > > png('/tmp/z.png', width=480, height=100) > par(mar=c(3,.5,1,.5)) > plot.new() > par(usr=c(-10, 410, -.04, 1.04)) > par(mgp=c(1.5,.5,0)) > axis(1, at=seq(0, 400, by=50)) > axis(1, at=seq(0, 400, by=25), tcl=-.25, labels=FALSE) > title(xlab='Mean Count') > points(x, rep(-.02, length(x))) > lines(rep(.25*1500, 2), c(-.04, .04), col='blue') > lines(rep(.196*1500, 2), c(-.04, .04), col='blue') > text(.25*1500, .07, 'a', col='blue') > text(.196*1500,.07, 'b', col='blue') > dev.off() > > It works if I use height=350. > > Frank > > > > version > _ > platform x86_64-pc-linux-gnu > arch x86_64 > os linux-gnu > system x86_64, linux-gnu > status > major 3 > minor 0.1 > year 2013 > month 05 > day 16 > svn rev 62743 > language R > version.string R version 3.0.1 (2013-05-16) > nickname Good Sport > > > -- > Frank E Harrell Jr Professor and Chairman School of Medicine > Department of Biostatistics Vanderbilt University > > ______________________________**________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> > PLEASE do read the posting guide http://www.R-project.org/** > posting-guide.html <http://www.R-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
On 07/26/2013 08:54 AM, Frank Harrell wrote:> I can't get the points and "a" and "b" to render correctly (they are > squeezed into the axis) unless I make the height of the figure waste a > lot of space. I'd appreciate any ideas. The code is below. Thanks! > > png('/tmp/z.png', width=480, height=100) > par(mar=c(3,.5,1,.5)) > plot.new() > par(usr=c(-10, 410, -.04, 1.04)) > par(mgp=c(1.5,.5,0)) > axis(1, at=seq(0, 400, by=50)) > axis(1, at=seq(0, 400, by=25), tcl=-.25, labels=FALSE) > title(xlab='Mean Count') > points(x, rep(-.02, length(x))) > lines(rep(.25*1500, 2), c(-.04, .04), col='blue') > lines(rep(.196*1500, 2), c(-.04, .04), col='blue') > text(.25*1500, .07, 'a', col='blue') > text(.196*1500,.07, 'b', col='blue') > dev.off() > > It works if I use height=350. > > Frank >I get an error (x is missing), but I would try: ... par(usr=c(-10,410,-0.1,1.04) ... Jim
[Sorry I can't quote past messages as I get mail on Nabble and have been 
told I can't reply through Nabble].
Thanks Kennel for recommended a narrowing range for usr y-limits.  That 
does help quite a bit.
But I found a disappointing aspect of the graphics system: When you 
change height= on the device call you have to change the y-coordinates 
to keep the same absolute vertical positioning.
Frank
-- 
Frank E Harrell Jr Professor and Chairman      School of Medicine
                    Department of Biostatistics Vanderbilt University