我正在尝试生成堆叠的垂直条形图,但我不确定如何重塑我的数据集以满足ggplot的期望。
我有一个包含两列的数据框,“已杀死”和“受伤”,每个列都与一个州名相关联。我想要一个垂直条形图,每个状态#injured堆叠在#killed。
之上我可以像这样生成标准条形图:
ggplot(data=data, aes(x=state,y=killed)) +
geom_bar(position="dodge",stat="identity") +
coord_flip() +
ggtitle("Mass Shooting Killings and Injuries") +
labs(x="Killings and Injuries", y="State") +
ggtitle("Victims")
我知道“堆叠”条形图的方法是在ggplot美学中添加填充组件,但问题是我不知道如何以适合我的数据的方式这样做。
假冒可重复的例子:
data <- read.table(text = "state killed injured
1 Arkansas 23 50
2 Alabama 10 20
3 Texas 19 18
4 Ohio 14 15
5 Illinois 3 5", sep = "", header=T)
library(ggplot2)
library(reshape)
ggplot(data=data, aes(x=state,y=killed)) +
geom_bar(position="dodge",stat="identity") +
coord_flip() +
ggtitle("Mass Shooting Killings and Injuries") +
labs(x="Killings and Injuries", y="State") +
ggtitle("Victims")
答案 0 :(得分:3)