1

我正在使用biwavelet包进行小波相干分析。当我想设置自己的 x ticklabel 时,我发现axis它不起作用。下面给出了一个可重现的例子。谢谢。

require(biwavelet)
t1 <- cbind(1:100, rnorm(100))
t2 <- cbind(1:100, rnorm(100))
wtc.t1t2 <- wtc(t1,t2,nrands = 10) 
plot(wtc.t1t2, plot.cb = TRUE, plot.phase = TRUE,xaxt='n')
axis(1,at = seq(10,100,10),labels = seq(1,10,1))
4

1 回答 1

2

破坏你的阴谋的是plot.cb = TRUE

在作者的源代码中,plot.biwavelet关于该plot.cb选项的注释如下:

##添加彩条:这必须在所有事情之后发生,否则会出现混乱!

所以这就是问题所在——你axis()在之后调用plot.cb并且随之而来的是混乱。但是image.plot,您可以在运行后使用从fields包中手动添加回彩条,plot而无需plot.cb添加您的axis().

pacman::p_load(biwavelet,fields)
t1 <- cbind(1:100, rnorm(100))
t2 <- cbind(1:100, rnorm(100))
wtc.t1t2 <- wtc(t1,t2,nrands = 10) 
plot(wtc.t1t2, plot.phase = TRUE,xaxt='n')
axis(1,at = seq(10,100,10),labels = seq(1,20,2))
image.plot( zlim=c(0,25), legend.only=TRUE)

在此处输入图像描述

您可以通过这种方式自定义刻度和颜色条!

于 2016-07-09T04:31:19.217 回答