推 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
※ 引述《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