我只能用相当大的数据集可靠地重建这个问题,所以我将整个代码粘贴到一个 pastebin 下面是没有数据部分的代码:
# read tmp from the pastebin
library(ggplot2)
plt <- ggplot(tmp, aes(region, score))
plt1 <- plt + geom_violin(aes(region, score), scale='width', trim=F) + ylim(0, 1) + ggtitle('with ylim')
plt2 <- plt + geom_violin(aes(region, score), scale='width', trim=F) + ggtitle('without ylim')
为该图设置 y 限制会产生非常丑陋的“小提琴”:
这是什么,为什么会发生这种情况以及如何避免这个丑陋的问题?
顺便说一句,设置trim=T
解决了问题。