【发布时间】:2021-12-28 22:49:24
【问题描述】:
我可以通过将outlier.shape = NA,coef = 0 添加到geom_boxplot() 函数中来制作没有wiskers 或异常值的ggplot boxplot。当我将此传递给ggplotly() 时,它们都会返回。我进行了研究,并能够使用下面的代码从查看器中删除异常值。我的问题是如何从情节对象中删除线条?此外,我注意到在 plotly 中悬停时,0 的不透明度只是将其从视图中隐藏,但不会将其从悬停文本中删除。这也可以从悬停中隐藏吗?欢迎任何解决方案。
library(plotly)
library(ggplot2)
p1 <- ggplot(mtcars,
aes(
x = factor(vs),
y = mpg
)
)+
geom_boxplot( outlier.shape = NA,coef = 0)
p2 <- ggplotly(p1)
#removes outlier
p2$x$data[[1]]$marker$opacity = 0
请注意,即使定义您自己的统计摘要仍然会产生类似的输出:
q25medq75 <- function(x) {
v <- c(quantile(x,.25),quantile(x,.25),median(x),
quantile(x,.75),quantile(x,.75))
names(v) <- c("ymin", "lower", "middle", "upper", "ymax")
v
}
p1 <- ggplot(mtcars, aes(factor(am), mpg, fill=factor(am))) +
stat_summary(fun.data=q25medq75, geom="boxplot", colour="black")
p2 <- ggplotly(p1)
【问题讨论】: