【发布时间】:2018-05-14 15:23:56
【问题描述】:
我使用代码dput(head(Refugees_demographics, 2))
下面是示例数据集:
structure(list(Year = c(2006, 2007), `Female 0-4` = c(0, 3),
`Female 5-11` = c(0, 0), `Female 12-17` = c(140, 36), `Female 18-59` = c(1118,
519), `Female 60+` = c(121, 85), `F: Total` = c(1379, 643
), `Male 0-4` = c(0, 7), `Male 5-11` = c(6, 1), `Male 12-17` = c(152,
56), `Male 18-59` = c(1323, 870), `Male 60+` = c(595, 88),
`M: Total` = c(2076, 1022)), row.names = c(NA, -2L), class = c("tbl_df",
"tbl", "data.frame"))
我想得到下面的堆积条形图。 (如照片)
x 轴是年份,y 轴是难民人数。每年都会有两个堆叠的酒吧。一种用于男性,一种用于女性。在每个条中,按年龄堆叠,即女性 0-4、女性 5-11...等。
我尝试使用以下代码,但它不起作用,我也不知道如何按年份对女性和男性进行分组。
ggplot() +
geom_bar(aes(y = Refugees_demographics$`Female 0-4`,
x = Refugees_demographics$Year, fill = product),
data = Refugees_demographics, stat="identity")
如果有人能帮忙,我将不胜感激!
提前谢谢你。
【问题讨论】:
-
请不要链接到数据:链接过时了,当他们这样做时,这个问题完全变成了unreproducible。通常最好 (a) 包含您的实际数据的代表性样本; (b) 随机生成数据并提供代码(
set.seed)自己制作;或 (c) 使用 base-R 数据集(例如,mtcars、iris、ggplot2::diamonds等)。 -
但是,在 StackOverflow 中搜索
[r] [ggplot2] stack bar应该可以满足您的需求。 -
stackoverflow.com/q/6644997/3358272 的可能重复项(如果我错了,请不要关闭它)
-
@r2evans,对此感到抱歉。这是我第一次在这里问这个问题。我将数据集更改为示例数据集!
-
别担心,苏打水。另一件有帮助的事情是阅读StackOverflow markdown formatting,这可以更容易区分(视觉上)“对话”和“
data/code”。在这种情况下,只需突出显示structure(...)代码并点击 Ctrl-K 即可。 (不幸的是,kbd标签不适用于 SO ... :-(