All,
I have:
x <- matrix(c(22,3,6,69,9,4,7,81,23,4,22,50),nrow=3,byrow=TRUE)
rownames(x) <- c("Cold or flu","Headache","Backache");
colnames(x) <- c("Went to doctor","No response","Did
nothing","Self-medicated")
x <- t(x)
print(x)
barplot(x,beside=TRUE,
ylim=c(0,90),
xlab="Ailment",
ylab="Percent",
legend.text=TRUE,
args.legend=list("topright",title="Treatment"))
abline(h=c(seq(10,90,10)))
box()
I'd like to get the horizontal lines in the background.
Any suggestions?
D.
--
View this message in context: http://r.789695.n4.nabble.com/Horizontal-grid-in-background-of-barplot-tp4642081.html
Sent from the R help mailing list archive at Nabble.com.
Horizontal grid in background of barplot
3 messages · David Arnold, Peter Ehlers, Jim Lemon
On 2012-09-03 12:12, David Arnold wrote:
All,
I have:
x <- matrix(c(22,3,6,69,9,4,7,81,23,4,22,50),nrow=3,byrow=TRUE)
rownames(x) <- c("Cold or flu","Headache","Backache");
colnames(x) <- c("Went to doctor","No response","Did
nothing","Self-medicated")
x <- t(x)
print(x)
barplot(x,beside=TRUE,
ylim=c(0,90),
xlab="Ailment",
ylab="Percent",
legend.text=TRUE,
args.legend=list("topright",title="Treatment"))
abline(h=c(seq(10,90,10)))
box()
I'd like to get the horizontal lines in the background.
Any suggestions?
Just plot the bars twice and add the background colour of
the legend region.
barplot(x,beside=TRUE,
ylim=c(0,90))
abline(h=c(seq(10,90,10)))
box()
barplot(x,beside=TRUE,
xlab="Ailment",
ylab="Percent",
legend.text=TRUE,
args.legend=list("topright",title="Treatment",bg="white"),
add=TRUE)
Peter Ehlers
On 09/04/2012 05:12 AM, David Arnold wrote:
All,
I have:
x<- matrix(c(22,3,6,69,9,4,7,81,23,4,22,50),nrow=3,byrow=TRUE)
rownames(x)<- c("Cold or flu","Headache","Backache");
colnames(x)<- c("Went to doctor","No response","Did
nothing","Self-medicated")
x<- t(x)
print(x)
barplot(x,beside=TRUE,
ylim=c(0,90),
xlab="Ailment",
ylab="Percent",
legend.text=TRUE,
args.legend=list("topright",title="Treatment"))
abline(h=c(seq(10,90,10)))
box()
I'd like to get the horizontal lines in the background.
Any suggestions?
Hi David, Try this: library(plotrix) barp(x,col=gray(c(0.2,0.4,0.6,0.8)),names.arg=colnames(x), xlab="Ailment",ylab="Percent",ylim=c(0,90), do.first=expression(abline(h=seq(10,80,10)))) legend(2.5,85,rownames(x),fill=gray(c(0.2,0.4,0.6,0.8)), bg="white") Jim