假设我有以下数据:
Fruit <- c(rep("Apple",3),rep("Orange",5))
Bug <- c("worm","spider","spider","worm","worm","worm","worm","spider")
df <- data.frame(Fruit,Bug)
df
Fruit Bug
1 Apple worm
2 Apple spider
3 Apple spider
4 Orange worm
5 Orange worm
6 Orange worm
7 Orange worm
8 Orange spider我想使用ggplot来创建一个条形图,其中我们在x轴上有Fruit,而fill是错误的。我希望条形图有给苹果和橙子的虫子计数。所以柱状图应该是这样的
苹果(蠕虫(红色)y= 1,蜘蛛(蓝色)y= 2)破坏橙色(蠕虫(红色)y= 4,蜘蛛(蓝色y= 1) )
我希望这是有意义的。谢谢!
发布于 2014-07-23 03:07:39
Fruit <- c(rep("Apple",3),rep("Orange",5))
Bug <- c("worm","spider","spider","worm","worm","worm","worm","spider")
df <- data.frame(Fruit,Bug)
ggplot(df, aes(Fruit, ..count..)) + geom_bar(aes(fill = Bug), position = "dodge")

发布于 2014-07-23 03:14:25
使用双向表格很容易做到这一点:
dat <- data.frame(table(df$Fruit,df$Bug))
names(dat) <- c("Fruit","Bug","Count")
ggplot(data=dat, aes(x=Fruit, y=Count, fill=Bug)) + geom_bar(stat="identity")

https://stackoverflow.com/questions/24895575
复制相似问题