2012-11-14 39 views
1

我說的是這樣的畫面:如何重新創建這個3d直方圖?

問題:

這是R,Matlab的不正確的?在頁面下方,它說它是用R製成的。...

我該怎麼做?我的意思是,我怎樣才能用這個先進的綠色表面和這個網格創建這樣一個三維散點圖?我現在如何製作簡單的散點圖和三維散點圖,但我如何創建這樣一個高級圖像?這是哪個包?

我想將它包含在一張紙中,這張照片應該自動旋轉。我知道如何將它包含到我的tex分發中,但是因此我需要單個png。所以例如我創作的1000張單張照片。但是我怎樣才能讓他們與R?我需要旋轉它,然後將每一個小旋轉保存爲一個圖形文件。

非常感謝你的幫助,我最大的問題是這個圖形的創建(包?),以及如何使它旋轉(R代碼?)

+1

看起來他們修復了rgl包來轉儲.png文件。上一次我嘗試這個包時,它會在屏幕上顯示圖形(我可以旋轉它,放大/縮小等),但不會將圖像轉儲到文件。它看起來像新版本(0.92.894 2012-10-22)修正了這一點。 –

+0

當這個問題被移植時,@ nico的評論丟失了。這裏是他的鏈接:http://stackoverflow.com/questions/3979240/r-plotting-a-3d-surface-from-xyz這裏是我的評論上面的鏈接:http://stackoverflow.com/questions/4543272/rgl -snapshot-no-longer-works –

回答

5
  1. 爲了創建這個圖,你可以檢查出persp功能。您可以更改參數來旋轉圖形。下面是一個演示:

    require(grDevices) # for trans3d 
    x <- seq(-10, 10, length= 30) 
    y <- x 
    f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r } 
    z <- outer(x, y, f) 
    z[is.na(z)] <- 1 
    persp(x, y, z, theta = 90, phi = 30, expand = 0.5, col = "lightgreen") 
    

enter image description here

當變化theta = 30

persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightgreen") 

enter image description here

  • 對於顏色,可以鍵入colors()看什麼顏色或者你可以使用。目前,我發現lightgreen可能是您想要的最接近的顏色。
  • +0

    好的,首先:非常感謝你的答案。但我有更多的問題:1.我需要保存不同的PNG文件與不同的天使(不同的旋轉),以便我可以加入他們的電影,我可以做到這一點與rgl包? @ liuminzhao theta是左和右,所以phi是上下?我想保存單個小旋轉步驟作爲圖片,並將它們加入到電影/動畫中。我該怎麼做?我也沒有功能,我有經驗數據,例如我想有一個黑色的斯科爾斯Vega劇情依賴於資產價格和到期時間。再次感謝您的幫助! – user1690846

    +0

    哦,還有一個問題:我怎樣纔能有奇特的顏色,極端值是紅色,然後平滑的顏色變成藍色爲低值?那麼不是離散的變化,而是連續的?非常感謝@ bill_080和liuminzhao – user1690846

    +0

    1.不熟悉'rgl'包。 2.我認爲'phi' 3.你可以嘗試一個'for'循環來繪製一堆png並使它成爲一個gif?嘗試'動畫'包? 4。我認爲經驗數據是好的,一旦你有與其座標'(x,y)'對應的'z'值。 – liuminzhao