[R] plot - no main title and missing abscissa value

Iain Gallagher i.j.gallagher at sms.ed.ac.uk
Tue Oct 11 10:28:30 CEST 2005


Thanks Uwe.

The R version I'm using is 2.1.1 on Mac OS 10.3.9

I was going to try and replicate this on a linux system at home but have 
not had the time so far. I'll let you know how it goes.


Iain

Uwe Ligges wrote:

> Iain Gallagher wrote:
>
>> Hi. Sorry (esp to Uwe for the repeated messages!)
>>
>> Here is the data and my code in full. Thanks for the
>> help.
>>
>> Data.
>>
>> Day    Ym1Imp    Ym1sham    Semimp    Semsham
>> 0    5.78    5.78    1.22    1.36
>> 1    44.36    42.1    16.26    18.83
>> 3    38.39    14.66    18.02    2.86
>> 5    57.76    1.03    15.28    0.29
>> 7    72.93    2.71    18.6    1.06
>> 10    48.57    4.61    11.26    5.21
>> 14    74.08    1.53    9.66    0.11
>> 21    73.86    0.14    7.2    0.02
>>
>>
>> Code
>>
>> ym<- read.table("ym1expression.csv", header=T,
>> sep="\t", quote="\"") #read in ym data
>> attach(ym)# make data visible to R
>> par(mar=c(5,5,4,5),las=1, xpd=NA)
>> x<- c(0,1,3,5,7,10,14,21)
>> plot(Day, Ym1Imp, ylim=c(0,100), type="b", bty="l",
>> main="Ym1 Expression", cex=1.3, xaxt="n", yaxt="n")
>> #plot implant data
>> axis(side=1, at=c(0,1,3,5,7,10,14,21),
>> labels=c(0,1,3,5,7,10,14,21)) # label x axis
>> mtext("Day", side =1, at=10, line=3, cex=1.2) # title
>> x axis
>> mtext("AU", side=2, at=50, line=3, cex=1.2)# y axis
>> title
>> axis(side=2, at=c(0, 25, 50, 75, 100),
>> labels=expression("0", "25", "50", "75", "100")) #
>> label y axis
>> arrows(x, Ym1Imp-Semimp, x, Ym1Imp+Semimp, code=3,
>> angle=90, length=0.1)# place error bars
>> points(Day, Ym1sham, type="b", pch=16, cex=1.3)# plot
>> sham data
>> arrows(x, Ym1sham-Semsham, x, Ym1sham+Semsham, code=3,
>> angle=90, length=0.1)# plot sham error bars
>> legend(20, 60, legend="Implant", pch=1, lty=1,
>> bty="n")# implant legend
>> legend(20, 50, legend="Sham", pch=16, lty=1, bty="n")#
>> sham legend
>>
>> Iain
>>
>
>
> Three points:
>
> 1. The main title appears for me under the Windows device. I really 
> wonder why you do not see it, this seems to be quite a strange device 
> dependence I would not expect in this case.
> Since you told us you have "R 2.1", we do not know exactly what you 
> have got - there is no such version. There are versions R-2.0.1, 
> R-2.1.0 and R-2.1.1, though. Anyway, you told us you found a workaround.
>
>
> 2. In order to re-plot the axis labels, you should specify  xlab=NA, 
> ylab=NA in your call to plot() as in:
> plot(Day, Ym1Imp, ylim=c(0,100), type="b", bty="l", xlab=NA, ylab=NA,
>     main="Ym1 Expression", cex=1.3, xaxt="n", yaxt="n")
>
> 3. As I have already guessed, the axis annotation of the tick at 
> position 1 is left out because R thinks there is not enough space left.
> You can workaround this point by making the label appear separately as 
> in:
> axis(side=1, at=c(0,3,5,7,10,14,21))
> axis(1, 1)
>
> Uwe Ligges
>
>


-- 
Iain Gallagher
Institute for Infection & Immunology Research
Ashworth Laboratories
Kings Buildings
University of Edinburgh
Edinburgh
EH9 3JT
UK

(+44) 0131 651 3630




More information about the R-help mailing list