geom_bar plot with position="dodge" and geom_text 重复值
geom_bar plot with position="dodge" and geom_text duplicating values
我查看了 SO,我看到了很多关于 geom_text
值位置的帖子,但我没有看到任何与我的问题相关的内容。对不起,如果我错过了。我正在尝试使用 position="dodge"
在 ggpot2 中创建一个条形图,并且我试图在每个条形分组上方放置一个汇总值。我很接近,但是当我添加 geom_text
标签时,它显示了一堆值。理想情况下,我希望只删除所有值,但每个分组一个。我的可重现示例如下。提前感谢您提供的任何帮助!
gather.iris <- iris %>%
gather(key=flower_att, value=measurement, -Species) %>%
mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))
ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(label=sum_value), vjust=-0.5, check_overlap=T)
1
感谢格雷戈尔的快速回答。我不明白我需要像选择情节一样为文本选择 x 和 y 值。这个问题的答案不太好。
gather.iris <- iris %>% gather(key=flower_att, value=measurement, -Species) %>%
mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))
ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(y=as.numeric(Species), label=sum_value), vjust=-0.5, check_overlap=T)
我查看了 SO,我看到了很多关于 geom_text
值位置的帖子,但我没有看到任何与我的问题相关的内容。对不起,如果我错过了。我正在尝试使用 position="dodge"
在 ggpot2 中创建一个条形图,并且我试图在每个条形分组上方放置一个汇总值。我很接近,但是当我添加 geom_text
标签时,它显示了一堆值。理想情况下,我希望只删除所有值,但每个分组一个。我的可重现示例如下。提前感谢您提供的任何帮助!
gather.iris <- iris %>%
gather(key=flower_att, value=measurement, -Species) %>%
mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))
ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(label=sum_value), vjust=-0.5, check_overlap=T)
感谢格雷戈尔的快速回答。我不明白我需要像选择情节一样为文本选择 x 和 y 值。这个问题的答案不太好。
gather.iris <- iris %>% gather(key=flower_att, value=measurement, -Species) %>%
mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))
ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(y=as.numeric(Species), label=sum_value), vjust=-0.5, check_overlap=T)