兩個可能的竅門,使用與Marco Sandri的答案相同的數據集。
黑客1。如果你並不真的需要它在工作plotly,只是靜態ggplot圖像:
ggplot(dat, aes(x=cond, y=rating, fill=cond)) +
geom_boxplot() +
geom_boxplot(aes(color = cond),
fatten = NULL, fill = NA, coef = 0, outlier.alpha = 0,
show.legend = F)
![Hack 1](https://i.stack.imgur.com/CTHM1.png)
這會覆蓋原有的箱線圖與一個版本,本質上是外包裝盒的輪廓,隱藏位數(fatten = NULL
),填充顏色(fill = NA
),晶須(coef = 0
)&異常值(outlier.alpha = 0
)。
然而,它看起來並沒有很好地與情節。我用ggplot2的開發版本測試了它(積極推薦),但無濟於事。請參見下面的輸出:
![Hack 1 plotly](https://i.stack.imgur.com/5tB4r.png)
哈克2。如果你需要它的工作在plotly:
ggplot(dat %>%
group_by(cond) %>%
mutate(rating.IQR = case_when(rating <= quantile(rating, 0.3) ~ quantile(rating, 0.25),
TRUE ~ quantile(rating, 0.75))),
aes(x=cond, y=rating, fill=cond)) +
geom_boxplot() +
geom_boxplot(aes(color = cond, y = rating.IQR),
fatten = NULL, fill = NA)
(ggplot輸出同上)
plotly似乎不明白coef = 0
& output.alpha = 0
命令,所以這個黑客創建的一個修改版本y變量,因此P30以下的所有內容都將設置爲P25,並且以上所有內容都將設置爲P75。這會創建一個沒有異常值的盒子,沒有鬍鬚,中間位置與P75上限位置一起。
它更繁瑣,但它工作在plotly:
![Hack 2 plotly](https://i.stack.imgur.com/Z987O.png)