[問題] 3D繪圖問題

作者: pinlateng (中肯不嘴砲)   2016-11-18 01:32:20
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
我現在有一份人口學統計資料,想要用 3D 繪圖方式呈現
目標是畫出 地區 X 年分 X 人數的 3D 散佈圖 (或是折線圖)
[程式範例]:
我先下載了scatterplot3d這個套件
因為我知道年份跟地區不能直接用於繪圖,所以先用一般數字向量來處理
之後再用繪圖軟體補上標籤,所以我的程式大概是這樣
x <- c(1:24) #縣市數目
y <- c(1:10) #十年份資料
f <- function (x,y) {dataframe[x,y]} # 10variables * 24obs的人口統計數據
z <- f(x,y)
最後跑 scatterplot3d(x,y,z)的時候跑出了這個:
Error in xyz.coords(x = x, y = y, z = z, xlab = xlabel, ylab = ylabel, :
'x', 'y' and 'z' lengths differ
因為我爬了網路的文章,裏頭的案例都是變數有所相關的數學函數
但我猜我這個問題應該是出在數值彼此沒有函數的對應關係,所以畫不出來
可是不知道怎麼處理...Orz
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
裡面含有所有你使用的作業系統、R 的版本和套件版本資訊,
讓版友更容易找出錯誤
[關鍵字]:
3D繪圖 社會統計 人口學 歷時性資料
作者: andrew43 (討厭有好心推文後刪文者)   2016-11-18 01:44:00
不是這樣使用的。x y z 參數是一樣長的,表示每一個點的三維座標。你可以先把原始的資料攤平成一個data frame。
作者: cywhale (cywhale)   2016-11-18 07:13:00
可以用expand.grid(x,y)把x,y展開,得到和 z 同樣長度
作者: ginseng21 (SweetCow)   2016-11-18 10:06:00
這樣的呈現效果好嗎?
作者: andrew43 (討厭有好心推文後刪文者)   2016-11-18 12:31:00
點很多通常會很可怕,需要投影或輔助線幫忙
作者: Edster (Edster)   2016-11-18 18:01:00
其實用動畫處理更好吧,像是雨量圖的動畫。

Links booklink

Contact Us: admin [ a t ] ucptt.com