我想在R中的水平条形图中为“是”和“否”列,用垂直线分隔为零:
dat <- matrix(c(10,8, 20, 6,0, 25), nrow=3, dimnames=list(c("A", "B", "C"),
c("Yes", "No") ))
类似的东西:
其中蓝色表示“是”,黄色表示“否”组。你能帮我在R吗?
帮我做答案 0 :(得分:0)
喜欢这个吗?
dat <- data.frame(dat)
barplot(dat$Yes,horiz=T, xlim=c(-max(dat$No),max(dat$Yes)), col="lightgreen")
barplot(-dat$No,horiz=T, add=T, col="lightblue")
与ggplot
library(ggplot2)
gg <- cbind(id=rownames(dat),dat)
ggplot(gg, aes(x=id))+
geom_bar(aes(y=Yes, fill="Yes"), stat="identity")+
geom_bar(aes(y=-No, fill="No"), stat="identity")+
scale_fill_manual("Response",values=c(Yes="lightgreen",No="lightblue"))+
labs(y="value")+coord_flip()