[英]addint text labels to a grouped barchart in R
my data looks something like this:我的数据看起来像这样:
structure(list(region1 = structure(c(1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 6L, 6L,
6L, 6L, 7L, 7L, 7L, 7L), .Label = c("Location1", "Location2",
"Location3", "Location4", "Location5", "Location6",
"OTHERS"), class = "factor"), startYear = c(2016, 2017, 2018,
2019, 2016, 2017, 2018, 2019, 2016, 2017, 2018, 2019, 2016, 2017,
2018, 2019, 2016, 2017, 2018, 2019, 2016, 2017, 2018, 2019, 2016,
2017, 2018, 2019), n = c(322L, 697L, 620L, 849L, 832L, 541L,
868L, 687L, 117L, 706L, 613L, 689L, 733L, 445L, 150L, 220L, 936L,
277L, 195L, 751L, 80L, 851L, 38L, 179L, 808L, 635L, 304L, 617L
)), row.names = c(NA, -28L), class = c("data.table", "data.frame"
))
and i am trying to create a grouped bar chart with text labels above every bar.我正在尝试创建一个分组条形图,每个条形上方都有文本标签。 Here is how:方法如下:
# create grouped barchart
ggplot(dataExample, aes(x = startYear, y = n)) +
geom_col(aes(color = as.factor(region1),
fill = as.factor(region1)),
position = position_dodge(0.8), width = 0.7)+
geom_text(aes(startYear, label = n),
position = position_dodge(0.8), width = 0.7)
Unfortunatelly I cannot get my labels to allign.不幸的是,我无法让我的标签对齐。 Here is what i am getting:这是我得到的:
How can i adjust the position, such that the labels are where they are supposed to be?如何调整 position,使标签在它们应该在的位置?
You need to group the geom_text
aesthetic:您需要对geom_text
美学进行分组:
ggplot(dataExample, aes(x = startYear, y = n)) +
geom_col(aes(color = as.factor(region1),
fill = as.factor(region1)),
position = position_dodge(0.8))+
geom_text(aes(startYear, label = n, group=as.factor(region1)),
position = position_dodge(0.8))
(note that I deleted the witdh
options that caused an error) (请注意,我删除了导致错误的witdh
选项)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.