我有一个关于biwavelet包中的R函数image的问题。此函数用于将相关值绘制为image函数中的z。我正在绘制完全相关的数据集(R平方=1作为我的z值)。当绘制图像时,颜色框中有一些变化。我对此感到困惑,因为我的z矩阵中的所有值都是1。你知道为什么会发生这种情况吗,以及如何修复它?
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的矩阵
更新:基于以下请求
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))发布于 2015-08-15 05:24:57
事实证明,zlim的双小波默认值导致了这个问题,因为颜色缩放是沿着非常小的比例(例如0.99-1)的梯度改变的,这在绘图中施加了不同的颜色。我假设z值显示的精度小于R存储的精度,这说明了值之间的微小差异?解决方案是对zlim施加更大的范围(例如0-1),然后强制颜色渐变方案适当地打印(单色)。
https://stackoverflow.com/questions/31997965
复制相似问题