【发布时间】:2018-11-23 15:16:08
【问题描述】:
我希望我的文本在多面闪避条形图中的每个条形上方居中对齐。
# setup
library(ggplot2); library(tidyverse)
data("iris")
# graph
iris %>% group_by(Species) %>%
mutate(Petal_Group = ifelse(Petal.Width < median(Petal.Width), "Short", "Long")) %>%
mutate(Sepal_Group = ifelse(Sepal.Width < median(Sepal.Width), "Short", "Long")) %>%
group_by(Petal_Group, Sepal_Group, Species) %>%
summarise(mean.Sepal.Length = mean(Sepal.Length)) %>%
mutate(asterisks = "***") %>%
ggplot(aes(x = Petal_Group, y = mean.Sepal.Length)) +
geom_col(aes(fill = Species), position = "dodge") +
geom_text(aes(label=asterisks, group = Species), position = position_dodge(width = 1)) +
facet_grid(~Sepal_Group, labeller = label_parsed) +
theme(legend.position = "bottom", panel.background = element_blank(), panel.border = element_rect(colour = "black", fill = NA, size = 0.2), strip.background = element_blank())
在示例中(对不起,如果它过于复杂,但我正在使用类似的东西),三个星号(“***”)不在每个条的中心。即,红条上的星号出现在左侧,蓝条上的星号出现在右侧。
我尝试调整 geom_text 中的 hjust,但我无法正确设置。 (难道没有更通用的居中对齐方式,比如position = "center"?)
【问题讨论】:
标签: r ggplot2 centering text-alignment geom-text