[R] losing x-label when exporting to PNG
John Kane
jrkrideau at yahoo.ca
Thu Apr 27 18:56:51 CEST 2006
--- "Marc Schwartz (via MN)" <mschwartz at mn.rr.com>
wrote:
> On Thu, 2006-04-27 at 08:43 -0400, John Kane wrote:
> > I have a simple barplot that looks fine in the R
> > graphics device window. However when I export it
> to
> > png I am losing the x-label. It must be an
> obvious
> > problem but I cannot see it. Trying to resize the
> plot
> > does not seem to help. Code is below.
> >
> > Any help gratefully received.
> >
> > ###### Start Code############
> >
> > Groups <-c(21.8,45, 43, 17.2, 8.3, 18)
> > names(Groups) <- c("Exeter", "Halifax",
> "Moosonee",
> > "Ottawa",
> > "Montr�al", "Saskatoon")
> > # Here we are setting the font to Bold and addin
> some
> > lines to the bottom
> > # margin of the graph, 6 vs default of 5, to give
> us
> > more room with the angled
> > # labels.
> >
> > par(font=2,mar= (c(6, 4, 4, 2) + 0.1))
> >
> > Mycolours <- c("red", "blue", "green", "yellow",
> > "orange" ,"purple")
> >
> > # --------------plot to screen
> > --------------------------------------
> > mp <- barplot(Groups, beside=T ,
> > horiz=F , las=1, ylim=c(0,60), axisnames=F,
> > font.lab=2, col=Mycolours
> > )
> > text(mp, par("usr")[3] - 1.5, srt = 45, adj = 1,
> > labels = names(Groups), xpd = T ,
> > cex=.75,
> > )
> >
> > mtext(side = 1, line=5, text="% of Services above
> > thresholds ")
> > mtext(side=2, line=2.5, text="Percent")
> > title(main="")
> > box()
> > # -------------------plot to png
> > file------------------------------
> > png('gr_%04d.png', width=600, height=400)
> > mp <- barplot(Groups, beside=T ,
> > horiz=F , las=1, ylim=c(0,60), axisnames=F,
> > font.lab=2, col=Mycolours
> > )
> > text(mp, par("usr")[3] - 1.5, srt = 45, adj = 1,
> > labels = names(Groups), xpd = T ,
> > cex=.75,
> > )
> >
> > mtext(side = 1, line=5, text="% of Services above
> > thresholds ")
> > mtext(side=2, line=2.5, text="Percent")
> > title(main="")
> > box()
> >
> > dev.off()
> >
> > #### End code #####
>
> John,
>
> I suspect that you might want to find a cushioned
> wall first, in case
> you might want to bang your head against it... ;-)
>
> If your PNG file is created using exactly the code
> you have above, you
> have neglected to include the par() statement to
> adjust the margins
> AFTER calling png(). Note that the prior par()
> statement is apropos to
> your screen plot device and will not affect the
> png() device.
>
> So insert the same par() call AFTER the png() call
> and you should be
> good to go.
>
> HTH,
>
> Marc Schwartz
>
Just a minute while I go get my neighbour's motorcycle
helmet. You will be able to hear the padded thumps.
How embarassing!
Thanks.
More information about the R-help
mailing list