gpt4 book ai didi

r - 以闪避条形图为中心绘制文本/标签

转载 作者:行者123 更新时间:2023-12-04 03:05:37 25 4
gpt4 key购买 nike

我不知道如何在 ggplot2 的条形图中以每个闪避条为中心显示标签。

我知道我可以使用 position = "dodge" 躲避条形图,并且我知道为了让标签显示在每个条形图的中心,我需要添加 position = position_dodge (width = 1)geom_text()geom_label() 命令中。

但由于某种原因它不起作用(见下图)。我还添加了我的数据和代码。

df <- structure(list(Measure = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1988",
"2017"), class = "factor"), Province = structure(c(1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L), .Label = c("BC", "AB", "SK", "MB", "ON", "QC", "NB",
"PE", "NS", "NL"), class = "factor"), Value = c(363L, 61L, NA,
69L, NA, NA, 127L, 12L, 92L, 18L, 178L, 29L, 41L, 92L, 284L,
1019L, 267L, 27L, 77L, 22L)), .Names = c("Measure", "Province",
"Value"), row.names = 41:60, class = "data.frame")

ggplot(df, aes(x=Province, y=Value)) + geom_bar(aes(fill=Measure), position="dodge",
stat="identity") + geom_label(aes(label=Value), position = position_dodge(width=1))

enter image description here

最佳答案

我刚刚意识到(感谢@aelwan 的回答)我唯一要做的就是在 aes() 函数中添加 group=Measure,即

ggplot(df, aes(x=Province, y=Value, group=Measure)) +
geom_bar(aes(fill=Measure),position="dodge", stat="identity") +
geom_label(aes(label=Value),position = position_dodge(width=1))

这给出了:

enter image description here

关于r - 以闪避条形图为中心绘制文本/标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44818459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com