Dear R users,
I am encountering a x axis labeling problem on quite basic plots...
I use the following code which displays the labels on the x-axis with a
45 degrees angle:
p <- plot(myobject1, type="b", col="red",cex=1, lwd=2,
axes=FALSE,
ann=FALSE, ylim=c(0,70))
title(main="title", font.main=4)
axis(side=1, lab=F)
text(axTicks(1), par("usr")[3] - 2, srt=45,
adj=1,labels=mylabels,xpd=T,
cex=0.8, font=2)
axis(side=2, las=1, cex.axis=0.8, font=2)
I set up the ylim from 0 to 70 for plotting that object "myobject1"
->
works well.
However, when i try to use the same script with another set of data
"myobject2" (same number of points, same labels, but different
values...) that ranges from 0 to 2 (ylim changed to "c(0,2)"), the
labels on the x axis disappear...
When i try to run the same lines for "myobject2" but putting the ylim
higher "c(0,50)", the labels on the x axis are displayed.
I picked up some pieces of code here and there so i may do an obvious
mistake but cannot figure out what it is! I tried to modify the text
parameters "adj" or "par("usr")...",
unsuccessfully...
I hope i made it clear, there must be a scaling problem that i really
don't get...
I run R 2.8.0 under Windows XP Pro.
Thank you for your help!
Sarah
On Thu, 09-Jul-2009 at 05:36PM +0200, Sarah Bonnin wrote:> Dear R users, > > I am encountering a x axis labeling problem on quite basic plots... > I use the following code which displays the labels on the x-axis with a > 45 degrees angle: > > p <- plot(myobject1, type="b", col="red",cex=1, lwd=2, axes=FALSE, > ann=FALSE, ylim=c(0,70)) > title(main="title", font.main=4) > axis(side=1, lab=F) > text(axTicks(1), par("usr")[3] - 2, srt=45, adj=1,labels=mylabels,xpd=T,I think this part is what's not transferable to a smaller range of y-values. par("usr")[3] will be much smaller when ylim goes to only 2 instead of 70. Subtract 2 from that, and you have a very different kettle of fish. Without knowing anything about myobject1 and myobject2 I could be completely ooff the mark, of cours. HTH> cex=0.8, font=2) > axis(side=2, las=1, cex.axis=0.8, font=2) > > I set up the ylim from 0 to 70 for plotting that object "myobject1" -> > works well. > However, when i try to use the same script with another set of data > "myobject2" (same number of points, same labels, but different > values...) that ranges from 0 to 2 (ylim changed to "c(0,2)"), the > labels on the x axis disappear... > When i try to run the same lines for "myobject2" but putting the ylim > higher "c(0,50)", the labels on the x axis are displayed. > > I picked up some pieces of code here and there so i may do an obvious > mistake but cannot figure out what it is! I tried to modify the text > parameters "adj" or "par("usr")...", unsuccessfully... > I hope i made it clear, there must be a scaling problem that i really > don't get... > I run R 2.8.0 under Windows XP Pro. > > Thank you for your help! > > Sarah > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~. ___ Patrick Connolly {~._.~} Great minds discuss ideas _( Y )_ Average minds discuss events (:_~*~_:) Small minds discuss people (_)-(_) ..... Eleanor Roosevelt ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.
Sarah Bonnin wrote:> Dear R users, > > I am encountering a x axis labeling problem on quite basic plots... > I use the following code which displays the labels on the x-axis with > a 45 degrees angle: > > p <- plot(myobject1, type="b", col="red",cex=1, lwd=2, axes=FALSE, > ann=FALSE, ylim=c(0,70)) > title(main="title", font.main=4) > axis(side=1, lab=F) > text(axTicks(1), par("usr")[3] - 2, srt=45, > adj=1,labels=mylabels,xpd=T, cex=0.8, font=2) > axis(side=2, las=1, cex.axis=0.8, font=2) > > I set up the ylim from 0 to 70 for plotting that object "myobject1" -> > works well. > However, when i try to use the same script with another set of data > "myobject2" (same number of points, same labels, but different > values...) that ranges from 0 to 2 (ylim changed to "c(0,2)"), the > labels on the x axis disappear... > When i try to run the same lines for "myobject2" but putting the ylim > higher "c(0,50)", the labels on the x axis are displayed. > > I picked up some pieces of code here and there so i may do an obvious > mistake but cannot figure out what it is! I tried to modify the text > parameters "adj" or "par("usr")...", unsuccessfully... > I hope i made it clear, there must be a scaling problem that i really > don't get... > I run R 2.8.0 under Windows XP Pro.Hi Sarah, Try this: p <- plot(myobject2, type="b", col="red",cex=1, lwd=2, axes=FALSE, ann=FALSE, ylim=c(0,2)) title(main="title", font.main=4) axis(side=1, lab=F) par(xpd=TRUE) text(axTicks(1), par("usr")[3] - 2, srt=45, adj=1,labels=mylabels,xpd=T, cex=0.8, font=2) par(xpd=FALSE) axis(side=2, las=1, cex.axis=0.8, font=2) and see what happens. Jim