2013-04-06 50 views
3

我有一個數據集如何繪製填充輪廓,其中z軸是因子

test<-data.frame(expand.grid(x=seq(0.01,1,0.01), y=seq(0.01,1,0.01))) 
test$z<-c(rep(1,2500),rep(2,2500),rep(3,2500),rep(4,2500)) 

(X,Y)定義笛卡爾座標。我想繪製一個填充等高線圖,其中xlim=ylim=c(0,1),顏色是z(一個4級的因子)。

我可以這樣做:

plot(test$x, test$y, col=test$z, pch=16),但它並不好看。

這個例子看起來很糟糕,但在我的數據是有道理的。我熟悉akima::interpfilled.contour(),但我不希望有任何插值,z不是連續的,而是一個因素。

您能否給我推薦適合我的數據的令人愉快的可視化?我更喜歡基礎圖形。

回答

2

可以使用image例如:

image(outer(seq(0.01,1,0.01),seq(0.01,1,0.01), 
      FUN=function(x,y)test$z)) 

enter image description here

我認爲你可以使用raster包這樣的情節處理好。

+0

這給出了非常不同的結果,即plot(test $ x,test $ y,col = test $ z,pch = 16)。一定是錯的 – ECII 2013-04-06 10:56:24

+0

@ECII我的第一個例子就是提出'image'作爲解決方案。我更新我的答案,使其與您的初始數據具有相同的級別順序。 – agstudy 2013-04-06 11:11:41