2013-04-09 150 views
3

R(基礎,點陣或其他)如何從100000個元素向量(或輸出該值的函數)創建圖形? 它是否繪製一些並拒絕其他人?把所有的東西都放在一起?我怎樣才能改變這種行爲?繪製太多點?

我怎麼能創建一個圖表,其中對於每個時間間隔,我都會看到最大值和最小值,就像在交易「欄」圖表中一樣? (或任何其他的想法,可視化這麼多的信息,而不需要事先計算間隔,分鐘和最大我自己也不使用財務pakages)

我怎麼能創建一個大的「水平滾動」情節?

例如我要繪製的第一100000次迭代

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

開始ZZ = 1,NN = 10^7 + 1 x軸將只是迭代次數。

總結。我想繪製一個函數的輸出,該函數在一個非常大的時間間隔內有時很軟但有時非常尖銳。這個峯值非常重要。

問候

+0

http://stackoverflow.com/questions/7714677/r-scatterplot-with-too-many-points/; http://stackoverflow.com/questions/10945707/speed-up-plot-function-for-large-dataset – 2013-04-09 12:28:57

回答

2

如果R能夠產生的情節,它只會繪製點,即使他們是在彼此的頂部。一般來說,如此大量的點並不是真正有用的繪圖,而不是必要的。一些處理這個問題的策略是:

  • 子樣本,比如2%的數據並繪製它。重複這幾次以查看結果是否改變
  • 不要繪製原始數據,而是先聚合。認爲計算時間均值,第1合併數據等
+0

是的。我正在尋找一個可以自動完成的繪圖包或功能。無論如何,如果我彙總了計算每300塊的最大值和最小值的數據......您將使用什麼樣的函數來繪製最大值和最小值,而不使用財務軟件包(並且無需將矢量轉換爲時間序列)。 – skan 2013-04-09 16:52:50

1

curve可能是一個很好的方式去這裏:

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

enter image description here

2

R將繪製所有的點和事情都有可能看起來很雜亂。

這是一個新的包,但檢查出哈德利的bigvis package

+0

我剛剛在革命分析博客上看到它。謝謝。我必須嘗試一下。它似乎可以處理大量的數據並對其進行處理,但不會創建可滾動的圖形。 – skan 2013-04-09 16:48:54

+0

我試過安裝bigvis,但是安裝會產生一個錯誤「Error:command failed(1)」,路徑中不包含任何空格。 – skan 2013-04-10 23:03:04

5

你提到塔T優有時有尖刺這是合租重要。

見下面我如何繪製ping結果,其中絕大多數的數據是在毫秒,但尖峯重要,我還有:

ping

基本上,我hexbin所有數據與點響應時間< 500毫秒,繪圖點爲所有更長的響應時間。 5秒響應時間另外標記爲超時:

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

我想我已經發布此作爲解決類似的問題,但我找不到它。