绘制大散点图

时间:2015-06-20 07:09:21

标签: r plot ggplot2

我的数据集有数百万个点,并且绘制所有这些点并不是一个好主意。

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

我怎样才能绘制一个点的样本?我知道我可以从两个col进行采样,但问题是第一个col是x值所以我需要通过采样获得相同的x和y - 或者说相同的索引。不是样本(t4 [,1],然后是样本t4 [,2]

是否有一种简单的方法可以将95%的值范围绘制到图中? 我认为使用预测的解决方案对我来说不会太好,因为数据集很大并且需要很长时间才能通过它。它实际上只需要在0.1或者其他95%的值上绘制的窗口和顶部

1 个答案:

答案 0 :(得分:1)

您可以对indizes进行采样并绘制总点数的子集

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])

我不知道你问题的第二部分是否意味着你想将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个数据点应该不是问题。