为图例添加颜色

时间:2016-05-12 10:48:23

标签: r

我创建了以下barplot,但问题是图例没有正确的颜色,并且网格位于条形图的前面。我想在图例的方框中放置正确的列,并将网格放在条形后面。

我还想在每个栏的底部打勾以识别它们

如何在R中执行这些功能?

barkplot

我使用的r脚本:

autos_data <- read.table("data.dat", header=T, sep="\t") 

barplot(rep(NA,length(autos_data)),ylim=c(0,max(autos_data)),axes=FALSE)
barplot(t(as.matrix(autos_data)), main=NULL, ylab= "% of Cloud usage", xlab="Input data size (MB)", ylim=c(0,50), beside=TRUE, lwd=1:2, angle=c(45,135), density=seq(5,40,10), col=c("blue","red","black","darkgreen"))
grid(NA, 5, lwd=1,lty=5, col="gray") # grid only in y-direction  

# Place the legend at the top-left corner with no frame
coords="top"
legend(coords, c("WestVirginia","Chicago I","Chicago II","California"), text.col=par("col"), cex=1.2, bty="n", xpd=TRUE, horiz=TRUE, inset=c(0,-.22), angle=c(35,135,45,135), density=seq(5,40,10),col=c("blue","red","black","darkgreen"))

编辑:

dput(autos_data)
structure(list(WestVirginia = c(29L, 29L, 23L, 23L), ChicagoI = c(30L, 
21L, 36L, 26L), ChicagoII = c(39L, 42L, 35L, 46L), California = c(2L, 
8L, 6L, 5L)), .Names = c("WestVirginia", "ChicagoI", "ChicagoII", 
"California"), class = "data.frame", row.names = c("1500", "3000", 
"4500", "6000"))

数据:

West-Virginia   ChicagoI    ChicagoII   California
1500    29  30  39  2
3000    29  21  42  8
4500    23  36  35  6
6000    23  26  46  5

0 个答案:

没有答案