# Re: [R] How to get two y-axises in a bar plot?

From: Attiglah, Mama <Mama_Attiglah_at_ssga.com>
Date: Tue, 29 Jan 2008 17:17:11 -0000

Try this

X = rbind(y1, y2)
colnames(X) = as.character(x)

barplot( X, density=c(35,40), col=c("red","blue"), beside=FALSE) barplot( X, density=c(35,40), col=c("red","blue"), beside=TRUE)

Alternatively,
barplot( y1, ylim = c(0, max(y1,y2)), col="blue", beside=FALSE)

par(new=TRUE)

barplot( y2, ylim = c(0, max(y1,y2)), col="red", beside=FALSE, names.arg=as.character(x))

Mama

Mama Attiglah, PhD
Quantitative Research Analyst
State Street Bank
+44(0)20 7698 6290 (Direct Line)
+44 (0)207 004 2968 (Direct Fax)
www.ssga.com

bar plot. However, y1 and y2 differ in scale so I need two y-axises, one

For code and data, see below.

Cheers,

Gustaf Granath, phd student

My code so far:
#Creating data

```c(6.34,13.38,17.87)->y1
c(0.85,1.88,2.33)->y2
c(0,1.5,3)->x
```

cbind(y1,y2,x)->mydata
data.frame(mydata)->mydata
with(mydata, tapply(y1,x,mean))->mean.y1 with(mydata, tapply(y2,x,mean))->mean.y2 #Barplot
par(mar=c(5,4,4,4)+0,1)
barplot(mean.y1,density=1,las=1)
par(new=T)
barplot(mean.y2,density=3,angle=3,axes=F) axis(4,las=1)

R-help_at_r-project.org mailing list