你好,我想用stat_summary
函数为每个彩色组绘制新浪图:
library(ggplot2)
library(ggforce)
ggplot(diamonds |> filter(cut=="Fair"), aes(x=cut, y=price, color=clarity )) +
scale_color_brewer(palette = "Dark2", guide = "none")+
geom_violin(fill = "gray80", linewidth = 1, alpha = .5) +
geom_sina(alpha = .25) +
coord_flip()+
stat_summary(fun.data = "mean_se", colour = "black", linewidth = 1, size = 0.5)
但不知何故stat_summary不能识别aes()
,所以我只得到一个平均值(黑点)。我如何使它对每个组都是这样?x1c 0d1x
我试过group=interaction(cut, clarity)
-但它仍然不是我要找的东西。
2条答案
按热度按时间tzdcorbm1#
只需将
group = clarity
放入stat_summary
的aes
中。您还需要添加position_dodge
:wgx48brx2#
问题是你把x轴设置为
cut
,当你真的希望它由clarity
来设置的时候。对于小提琴图,它会错开它们来显示点,但是stat_summary不起作用。如果你设置了x=clarity
,那么所有的图元素都会被x-axis组正确地设置: