我希望以堆积条形图的形式显示以下信息,其中x轴具有不同的区域,并且条形图用不同类型的伤害总数着色
数据的文本表示在这里
BOROUGH tpedinjury tcycinjury tminjury
BRONX 3975 959 11197
BROOKLYN 8781 3978 25822
MANHATTAN 6607 3164 8698
QUEENS 5893 1993年 21092
STATEN ISLAND 653 101 3528
答案 0 :(得分:0)
首先,将数据导入data.frame:
data <- data.frame(BOROUGH = c("BRONX", "BROOKLYN", "MANHATTAN", "QUEENS", "STATEN ISLAND"),
tpedinjury = c(3975, 8781, 6607, 5893, 653),
tcycinjury = c(959, 3978, 3164, 1993, 101),
tminjury = c(11197, 25822, 8698, 21092, 3528))
以下是这样的:
> data
BOROUGH tpedinjury tcycinjury tminjury
1 BRONX 3975 959 11197
2 BROOKLYN 8781 3978 25822
3 MANHATTAN 6607 3164 8698
4 QUEENS 5893 1993 21092
5 STATEN ISLAND 653 101 3528
为了便于绘图,我们希望它采用长格式。我喜欢使用gather()
包中的tidyr
,但还有其他一些功能也可以做同样的事情,所以请选择。
data <- gather(data, "injurytype", "number", -BOROUGH)
现在数据看起来像这样:
> data
BOROUGH injurytype number
1 BRONX tpedinjury 3975
2 BROOKLYN tpedinjury 8781
3 MANHATTAN tpedinjury 6607
4 QUEENS tpedinjury 5893
5 STATEN ISLAND tpedinjury 653
6 BRONX tcycinjury 959
7 BROOKLYN tcycinjury 3978
8 MANHATTAN tcycinjury 3164
9 QUEENS tcycinjury 1993
10 STATEN ISLAND tcycinjury 101
11 BRONX tminjury 11197
12 BROOKLYN tminjury 25822
13 MANHATTAN tminjury 8698
14 QUEENS tminjury 21092
15 STATEN ISLAND tminjury 3528
将geom_bar(stat = "identity")
与fill = injurytype
一起使用以获得堆积条形图。
ggplot(data, aes(x=BOROUGH, y=number, fill = injurytype)) +
geom_bar(stat = "identity")
答案 1 :(得分:0)