ggplot2 以错误的顺序放置数据标签(geom_text)
ggplot2 putting data labels (geom_text) in wrong order
我遇到了使用 ggplot2 错误排序数据标签的问题。
不幸的是,关于这个主题的其他 SE 问答不是很有见地(example),所以我不得不与代表联系。我有以下数据:
df = as.data.frame(structure(list(geotype = c('urban','urban','urban','urban','suburban','suburban','suburban','suburban'),
limitations = c('all','some','all','some','all','some','all','some'),
metric = c('lte','lte','5g','5g','lte','lte','5g','5g'),
capacity=c(12,11,5,4,14,10,5,3))))
如果我随后尝试使用此代码绘制此数据:
ggplot(df, aes(x = geotype, y = capacity, fill=metric)) + geom_bar(stat="identity") +
facet_grid(~limitations) +
geom_text(data = df, aes(geotype, capacity + 2, label=capacity), size = 3)
我的标签顺序不正确:
我已经研究了变量的排序(例如 rev(capacity)),但我无法解决这个问题。谁能为整个 SE 社区提供更全面的关于如何处理标签排序的答案?
是这样的吗?位置堆栈。
g <- ggplot(df, aes(x = geotype, y = capacity, fill = metric, label =
capacity))
g + geom_col() + facet_grid(~limitations) +
geom_text(size = 3, vjust =3, position = position_stack())
您需要在 geom_text
中调用 position
参数来将填充的美学数据与 geom_bar
匹配并让函数知道数据已堆叠。
ggplot(df, aes(x = geotype, y = capacity, fill=metric)) +
geom_bar(stat="identity") +
geom_text(data = df, aes(geotype, capacity, label=capacity), size = 3, vjust = 2,
position = position_stack()) +
facet_grid(~limitations)
可以在邮件ggplot中设置标签aes
ggplot(df, aes(x = geotype, y = capacity, fill = metric, label = capacity ) ) +
geom_col() +
geom_text( size = 3, position = position_stack( vjust = 0.5 ) ) +
facet_grid( ~limitations )
我遇到了使用 ggplot2 错误排序数据标签的问题。
不幸的是,关于这个主题的其他 SE 问答不是很有见地(example),所以我不得不与代表联系。我有以下数据:
df = as.data.frame(structure(list(geotype = c('urban','urban','urban','urban','suburban','suburban','suburban','suburban'),
limitations = c('all','some','all','some','all','some','all','some'),
metric = c('lte','lte','5g','5g','lte','lte','5g','5g'),
capacity=c(12,11,5,4,14,10,5,3))))
如果我随后尝试使用此代码绘制此数据:
ggplot(df, aes(x = geotype, y = capacity, fill=metric)) + geom_bar(stat="identity") +
facet_grid(~limitations) +
geom_text(data = df, aes(geotype, capacity + 2, label=capacity), size = 3)
我的标签顺序不正确:
我已经研究了变量的排序(例如 rev(capacity)),但我无法解决这个问题。谁能为整个 SE 社区提供更全面的关于如何处理标签排序的答案?
是这样的吗?位置堆栈。
g <- ggplot(df, aes(x = geotype, y = capacity, fill = metric, label =
capacity))
g + geom_col() + facet_grid(~limitations) +
geom_text(size = 3, vjust =3, position = position_stack())
您需要在 geom_text
中调用 position
参数来将填充的美学数据与 geom_bar
匹配并让函数知道数据已堆叠。
ggplot(df, aes(x = geotype, y = capacity, fill=metric)) +
geom_bar(stat="identity") +
geom_text(data = df, aes(geotype, capacity, label=capacity), size = 3, vjust = 2,
position = position_stack()) +
facet_grid(~limitations)
可以在邮件ggplot中设置标签aes
ggplot(df, aes(x = geotype, y = capacity, fill = metric, label = capacity ) ) +
geom_col() +
geom_text( size = 3, position = position_stack( vjust = 0.5 ) ) +
facet_grid( ~limitations )