1
我的數據看起來有點像這樣:疊加混合
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然後它自動選擇區邊界,並且使DIST1峯是0.5一側,混亂即希望它是邦上0.5讀者:
ggplot(melt(myData), aes(x=value, colour=variable)) + geom_freqpoly()
我知道我可以改變垃圾桶寬度,但不是垃圾桶本身,否則我會確保在0.5的任何一邊有等距離的垃圾箱。
我覺得你用'dist1'很大的問題是,你這是在強迫情節創建行的時候,其實你應該繪製點。無論你做什麼,除非'dist1'的分佈(x軸值)非常好,否則該線將從0.5到數據集中的下一個點繪圖。嘗試只繪製點,或創建一個2Xn矩陣'fakedist1',它已經排序了對(0.5,0);(0.5,1000),(0.5,0),並且繪製成一條普通的舊線。 –
不知道我完全理解這些建議。對於繪圖點,你的意思是像geom_dotplot?假設線條建議等於在平滑密度圖(第2和第3層)之上畫一條線(dist1)? – Pengin