2016-04-06 21 views
0

ggplot2 ve stat_density2d kullanarak R'de yoğunluklu bir ısı haritası oluşturmaya çalışıyorum. Bana 2 eksen üzerinde bir yoğunluk grafiği verirken, beklenen ısı haritasının yanında tuhaf üçgen boşluklar üretir.ggplot2 stat_density2d tuhaf üçgenler üretir

dfFilter <- data.frame(matrix(runif(2000, 0.0, 1.0),nrow=1000)) 

# HEATMAP  
ggplot(dfFilter,aes(x= X1,y= X2))+ 
stat_density2d(aes(alpha=..level..), geom="polygon") 

Benim sonuç beklendiği gibi oldukça görünüyor, ama bazı beklenmedik traingles vardır:

Bu example takip ediyorum, dolayısıyla aşağıdaki kodu (dağılma olmadan) ısı haritası kendisi üretir. R'nin noktaları birleştiriyor gibi görünüyor, ama devam etmek için aniden diğer tarafa atlar. sebebi ne olabilir bilen

enter image description here

herkes ve nasıl çözmek için? Çok teşekkürler!

+2

Bunu araştırmak isterdim, ancak daha eksiksiz bir tekrarlanabilir örnek olmadan gerçekten hiçbir şey yapamam. – joran

+0

Merhaba @joran, Yukarıdaki soruyu tekrarlanabilir bir örnekle güncelledim. Hızlı cevabınız için çok teşekkürler! – Dendrobates

+0

Lütfen, bir daha sorduğunuz soru için çoğaltılabilir bir örnek oluşturmak için yaptığım düzenlemelere dikkat edin. Yardımınız için – joran

cevap

1

Bunun basitçe orijinal veri aralığına sığacak şekilde kırpılan çokgenlerin bir sonucu olduğuna inanıyorum. Deneyin: Özellikle

ggplot(dfFilter,aes(x=X1,y=X2))+ 
    stat_density2d(aes(alpha=..level..),geom = "polygon") + 
    lims(x = c(-0.2,1.2),y = c(-0.2,1.2)) 

, sizinle ve limiti olmadan, geom = "polygon" olmadan sen kontur çizgileri kırpma farkı görürsünüz çalışırsanız. Ggplot çokgenleri çizmeye çalıştığında, eğer kontur çizgileri kırpılmışsa, daireyi nasıl tamamlayacağını bilemez, böylece konuşur, böylece etrafa atlar.

+0

Thx, bu gerçekten hile yaptı! – Dendrobates