[英]R ggplot geom_jitter duplicates outlier
Q1. Q1。 I am plotting a dataset using ggplot's geom_boxplot. 我正在使用ggplot的geom_boxplot绘制数据集。 However, when I am trying to plot all data points using geom_jitter(), the outlier I have in my data is duplicated. 但是,当我尝试使用geom_jitter()绘制所有数据点时,我的数据中的异常值是重复的。 All other data points are fine. 所有其他数据点都没问题。 Where is the problem? 问题出在哪儿?
Sample code: 示例代码:
PeakPeriod_24h <- c (31.05820, 23.83500, 24.36254, 25.31609, 24.21623, 23.90320)
condition <- rep("HL",6)
data_HL <- data.frame(condition, PeakPeriod_24h)
p <- ggplot(data_HL, aes(x=condition, y=PeakPeriod_24h, fill=condition))
p + geom_boxplot()+
geom_jitter(width = 0.3)+
theme_bw()+
coord_flip()+
geom_hline(aes(yintercept=24.18), colour="brown1", linetype="dotted", size = 1.4)+
scale_y_continuous(limits=c(), name = "Period Length")+
ggtitle("Boxplots\nHabitual Light")+
scale_fill_manual(values = c("gray60"))+
theme(plot.title = element_text(size=14, face="bold", vjust = .5),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.title.x = element_text(size=12, face = "bold"),
axis.text.x = element_text(size = 10, face = "bold", colour = "gray20"))+
guides(fill=FALSE)
Thanks! 谢谢!
Try 尝试
ggplot(data_HL, aes(x=condition, y=PeakPeriod_24h, fill=condition)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(width = 0.3)
The outlier is doubled, because it is plotted by geom_boxplot
(unless you specify that you don't want it to plot points for outliers) and another time by geom_jitter
. 异常值加倍,因为它是由geom_boxplot
绘制的(除非您指定不希望它为异常值绘制点),而另一次则由geom_jitter
。
And for the second question, you can use 对于第二个问题,你可以使用
geom_jitter(width = 0.3, aes(color=I(c("black", "blue")[code+1L])))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.