绘制太多积分?

时间:2013-04-09 12:25:01

标签: r plot large-data

R(基数,格子或其他)如何从100000个元素向量(或输出该值的函数)创建图形? 它会策划一些并拒绝其他人吗?情节都在彼此之上?我该如何改变这种行为?

我如何创建一个图表,在每个区间我都会看到最大值和最小值,如交易“条形图”中所示? (或任何其他想法可视化这么多信息,而无需事先计算间隔,分钟和最大值,也不使用财务支出)

我怎样才能创建一个大的“水平可滚动”图?

例如,我想绘制前100000次迭代

zz <- (zz^2+1) %% nn     

从zz = 1开始,nn = 10 ^ 7 + 1 x轴只是迭代次数。

综述。我想绘制一个函数的输出,该函数有时是软的但有时非常尖锐,在很大的间隔内。这种高峰非常重要。

问候

4 个答案:

答案 0 :(得分:5)

你提到tyou有时会有尖峰,这很重要。

请参阅下文,我如何绘制ping结果,其中绝大多数数据都是以毫秒为单位,但峰值对我来说也很重要:

ping

基本上,我hexbin所有数据点的响应时间&lt; 500毫秒,并绘制所有更长响应时间的点。 5s响应时间另外标记为超时:

ggplot (df, aes (x = date, y = t5)) + 
        stat_binhex (data = df [df$t5 <= 0.5,], bins = nrow (df) / 250) +
        geom_point (data = df [df$t5 > 0.5,], aes (col = type), shape = 3) +
        ylim (c (0, 5)) +
        scale_fill_gradient (low = "#AAAAFF", high = "#000080") +
        scale_colour_manual ("response type", 
                             values = c (normal = "black", timeout = "red")) + 
        ylab ("t / s") 

我想我已将此作为类似问题的解决方案发布,但我找不到它。

答案 1 :(得分:2)

如果R可以产生绘图,它将简单地绘制点,即使它们在彼此之上。通常,如此大量的点对于绘图并不是真正有用,并且不是必需的。解决这个问题的一些策略是:

  • 比例,例如,2%的数据并绘制它。重复几次以查看结果是否发生变化
  • 不要绘制原始数据,而是首先聚合。考虑计算时间均值,首先合并数据等等。

答案 2 :(得分:2)

R将绘制所有点,事情可能看起来混乱。

这是一个新的包,但请查看Hadley的bigvis package

答案 3 :(得分:1)

curve可能是一个很好的方式:

f <- function(x){(x^2+1)%%(1+1e7)}
curve(f, from=1, to=1e5)

enter image description here