R 通过ggplot2中的其他美学参数统计汇总位置

R 通过ggplot2中的其他美学参数统计汇总位置,r,ggplot2,R,Ggplot2,我正在准备数据的描述性图表,我遇到了一个具体问题。对于每个箱线图,我显示了观察值的数量(不要问我为什么,所以他们只希望它=D)。如果我在ggplot中只使用两个参数,就不会有问题。但是,当我将性别的美学颜色参数添加到图形中时。文本开始重叠或仅位于箱线图之间。在我看来,有必要向创建统计摘要文本自动位置的函数(代码开头)添加新参数。这些新参数可以将x轴上的文本向左或向右移动,具体取决于颜色美学类别。但不知道怎么做 # data df <- data_frame(id = c(1:50),

我正在准备数据的描述性图表,我遇到了一个具体问题。对于每个箱线图,我显示了观察值的数量(不要问我为什么,所以他们只希望它=D)。如果我在ggplot中只使用两个参数,就不会有问题。但是,当我将性别的美学颜色参数添加到图形中时。文本开始重叠或仅位于箱线图之间。在我看来,有必要向创建统计摘要文本自动位置的函数(代码开头)添加新参数。这些新参数可以将x轴上的文本向左或向右移动,具体取决于颜色美学类别。但不知道怎么做

# data
df <- data_frame(id = c(1:50),
                 sex = sample(1:2, 50, replace=T),
                 age = sample(18:50, 50, replace=T),
                 state = sample(state.name[1:4], 50, replace=T))

# auto positioning function
give.n <- function(x){
  return(c(y = median(x)*1.05, label = length(x))) 
  # experiment with the multiplier to find the perfect position
}

# plot
ggplot(df, aes(x= as.factor(state), y = age, color = as.factor(sex))) +
  geom_boxplot() +
  stat_summary(fun.data = give.n, geom = "text", fun.y = median)
#数据

df这可以使用
position
参数来解决,即将
position=position\u dodge(width=.75)
添加到
stat\u summary

#数据
种子(42)

df这可以使用
position
参数来解决,即将
position=position\u dodge(width=.75)
添加到
stat\u summary

#数据
种子(42)

df Ty@stefan,当然!我仍然在考虑一些复杂的解决方案,却忘了定位参数(facepalm)(这有时会发生,当然!我仍然在考虑一些复杂的解决方案,却忘了定位参数(facepalm)(有时会发生);