看板 R_Language 關於我們 聯絡資訊
※ 引述《spiderway (spiderway)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述]: : 我有兩筆資料兩個都長像這樣 : 1 449 403 723 334 923 1040 1029 983 1 286 358 514 406 734 713 970 927 : 1是界線,不用理他,後面有八筆數值。 : 想畫圖成這樣:http://imgur.com/qweQ8ee : 兩欄就是兩筆 : 列:每一格要分成八格小格,分別放每組的八個數值 : 第一欄有點像這樣: : 449 403 723 334 : 923 1040 1029 983 : 286 358 514 406 : 734 713 970 927 : 小魯第一次問問題,身邊也沒人可以問,拜託各位幫忙 : 我之前是有用過ggplot的polygon去畫過類似格子的圖 : 但是因為要設定每一格的ID和x,y軸,會有個問題是 : 一個格子有四個座標,value就會重複4次一樣的,改的時候四個都要改 : 經驗不足,想不太到方法,請協大大們協助,謝謝。 : [環境敘述]: : R version 3.1.3 (2015-03-09) : Platform: x86_64-w64-mingw32/x64 (64-bit) : Running under: Windows 7 x64 (build 7601) Service Pack 1 : [關鍵字]:ggplot,plot 我不知道ggplot2可不可以這樣畫 我以前要畫這種圖都用lattice的levelplot library(lattice) mats = replicate(4, abs(matrix(runif(8),2))*1000, simplify = FALSE) mat = cbind(rbind(mats[[1]], NA, mats[[2]]), NA, rbind(mats[[3]], NA, mats[[4]])) DT = expand.grid(seq(0.5, 0.5 + ncol(mat) - 1, by = 1), seq(0.5, 0.5 + nrow(mat) - 1, by = 1)) DT$val = as.vector(t(mat)) levelplot(val ~ Var1 + Var2, DT, col.regions = c("white", rev(rainbow(30)[1:20]))) 大概長這樣:http://i.imgur.com/aDbBNNy.png -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.73.190 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1445581499.A.A1C.html ※ 編輯: celestialgod (140.109.73.190), 10/23/2015 14:26:24
spiderway: 謝謝 C大 !! 研究中 感恩 10/23 17:53
ggplot2: http://docs.ggplot2.org/0.9.3/geom_tile.html ※ 編輯: celestialgod (180.218.154.163), 10/24/2015 12:08:03