我的数据看起来有点像这样:
myData <- data.frame(dist1=rep(0.5, 1000), dist2=rnorm(1000,0.8,0.01), dist3=rnorm(1000,0.7,0.05))
请注意, dist1 仅包含数字 0.5。
问题:你将如何在 R 中使用 ggplot 绘制这些数据?
我失败的尝试:
如果我尝试 geom_density 那么它对 dist1 不公平:
ggplot(melt(myData), aes(x=value, colour=variable)) + geom_density()
我知道我可以调整内核宽度,但随着 dist1 变得尖尖,dist2 和 dist3 开始分解
如果我尝试 geom_freqpoly ,那么它会自动选择 bin 边界并导致 dist1 峰值位于 0.5 的一侧,从而使期望它达到 0.5 的读者感到困惑:
ggplot(melt(myData), aes(x=value, colour=variable)) + geom_freqpoly()
我知道我可以更改 bin 宽度,但不能更改 bin 分区本身,否则我会确保 bin 分区在 0.5 的两侧等距。