我有一个包含三列的数据框,即膜,舞台和处理。我想根据阶段和处理创建一个膜盒图。我使用以下代码生成boxplot:
library(ggplot2)
ggplot(data, aes(x=Stage, y=Membrane, colour=Stage)) +
geom_boxplot() +
labs(title="Membrane localization under different treatments",
y="Membrane Intensity") +
facet_grid(. ~ Treatment)
给了我这张图:
正如您所看到的,对于最左边的情节,顶部有许多异常值。我想盒子图中包含那些异常值 - 即我希望ggplot2考虑那些点正常点,而不是异常值。
有没有办法做到这一点?
答案 0 :(得分:1)
如果您希望扩展普通boxplot胡须的范围,可以更改coef
参数。在geom_boxplot的文档中,它被定义为:
胡须的长度是IQR的倍数。默认为1.5
将其更改为coef = <some number larger than 1.5>
会延长胡须和&amp;删除相应的异常值。例如:
ggplot(data, aes(x=Stage, y=Membrane, colour=Stage)) +
geom_boxplot(coef = 5) +
labs(title="Membrane localization under different treatments",
y="Membrane Intensity") +
facet_grid(. ~ Treatment)
请注意,如果这是您想要的,那么您最好注释您的情节,以便您的观众了解这一变化。
如果您只想隐藏异常值,请使用P_Sta的答案。
答案 1 :(得分:0)
尝试使用:
library(ggplot2)
ggplot(data, aes(x=Stage, y=Membrane, colour=Stage)) +
geom_boxplot(outlier.shape = NA) +
labs(title="Membrane localization under different treatments",
y="Membrane Intensity") +
facet_grid(. ~ Treatment)