2015-06-20 89 views
-2

我的數據集有數百萬個點,並不是一個好主意來繪製所有這些點。Plot large scatterplot

runif(10000)->t1 
runif(10000)->t3 
as.data.frame(cbind(t1,t3))->t4 
plot(t4[,1],t4[2]) 

我該如何繪製點的樣本?我知道我可以從兩個樣本中進行採樣,但問題是第一個col是x值,所以我需要通過採樣獲得相同的x和y - 或者說相同的索引。不是樣本(t4 [,1])然後是樣本t4 [,2]

是否有一種簡單的方法可以將圖中的95%範圍的值繪製到圖中? 我認爲帶有預測的解決方案不會對於我來說工作得太好了,只是因爲數據集很大,而且需要很長的時間才能完成,實際上只需要在0.1或者95%的數值窗口上繪製出來,並且排在最前面的是

回答

1

您可以對指標進行取樣並繪製總點數的子集

N<-10000 
samplesize<-1000 
t4<-data.frame("t1" =runif(N) ,"t3" = runif(N)) 
sampleindices <- sample(1:N,samplesize, replace=FALSE) 
plot(t4[sampleindices,1],t4[sampleindices,2]) 

我不知道您曲線的第二部分estion意味着你想把95%的分位數作爲一條線?

quantile_t1<- quantile(t4$t1[sampleindices], probs = 0.95) 
quantile_t3<- quantile(t4$t3[sampleindices], probs = 0.95) 
abline(v = quantile_t1) 
abline(h = quantile_t3) 

你也應該看看這裏:R: Scatterplot with too many points。對於我來說,當一個情節包含很多點時,這些問題就會出現,每個點都不會增加任何值,但情節的大小會增加,而R需要永久性地完成它。 10000個數據點根本不應該成爲問題。

+0

它更多的是我想在0.1窗口中繪製分位數的runnign平均值,所以它會看起來像ggplot2中的smooth_geom ... – heinheo