2015-08-13 24 views
0

我對biwavelet包中的R函數image有疑問。該函數用於將相關值繪製爲image函數中的z。我繪製完全相關的數據集(R-squared = 1作爲我的z值)。繪製圖像時,彩色框中會有一些變化。我很困惑,因爲我的z矩陣中的所有值都是1.任何想法,爲什麼會發生這種情況,以及如何解決它?R圖像函數 - 顏色/值縮放錯誤

image(x$t, yvals, t(zvals), zlim = zlim, xlim = xlim, ylim = rev(ylim), 
     xlab = "Time", ylab = "Period", yaxt = "n", xaxt = "n", col = fill.colors) 

zvals是全1

UPDATE的矩陣:基於下面

x$t 
[1] 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986  1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 
[29] 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 

yvals 
[1] 1.046901 1.130235 1.213568 1.296901 1.380235 1.463568 1.546901 1.630235 1.713568 1.796901 1.880235 1.963568 2.046901 2.130235 2.213568 
[16] 2.296901 2.380235 2.463568 2.546901 2.630235 2.713568 2.796901 2.880235 2.963568 3.046901 3.130235 3.213568 3.296901 3.380235 3.463568 
[31] 3.546901 3.630235 3.713568 3.796901 

str(zvals) 
num [1:34, 1:40] 1 1 1 1 1 1 1 1 1 1 ... 

請求以上是實際的數據。下面是一個例子,但地塊如預期的,而我的數據並不:

a <- 1980:2010 
y <- sort(rnorm(30,2,.5)) 
z <- matrix(nrow=30,ncol=31,1) 

image(a, y, t(z), zlim = range(z), xlim = range(a), ylim = rev(range(y)), col = heat.colors(n=20)) 
+0

請參閱上面的更新 - 感謝 – Tiffany

+0

使用您的數據,我得到一個統一的圖像,你有什麼'xlim','zlim'等? – jenesaisquoi

+0

只是x $ t(1973 2012)的範圍和yvals的範圍(1.046901 3.796901) – Tiffany

回答

0

原來的zlim的biwavelet默認是造成該顏色縮放問題一起規模非常小的梯度改變 - (例如0.99-1),這是在情節中施加不同的顏色。我假設顯示z值的精度小於R存儲的精度,說明了值之間的微小差異?解決方法是爲zlim(例如0-1)施加更寬的範圍,然後迫使顏色梯度方案適當地打印(單一顏色)。