之前我没有使用过plotrix,但我正在尝试创建一个泰勒图来显示再分析风速数据与RCM RCA4模拟的风速预测之间的SD和RMS误差,这些误差由5种不同的GCM强制实施。
我正在使用的脚本可以在下面看到(编辑:现在可重现的数据)。我不确定我做错了什么但是你可以从附图中看到,为每个建模数据集绘制了多个点,而不是一个奇点... Taylor diagram test plot
对于我做错了什么以及如何纠正它的任何建议或指导将不胜感激。
提前致谢。
library(datasets)
library(ncdf4)
library(plotrix)
data <- volcano
taylor.diagram(volcano,volcano,add=FALSE,col="red",pch=4,pos.cor=TRUE,xlab="MERRA SD (Normalised)",ylab="RCA4 runs SD (normalised)",main="Taylor Diagram",show.gamma=TRUE,ngamma=3,sd.arcs=1,ref.sd=TRUE,grad.corr.lines=c(0.2,0.4,0.6,0.8,0.9),pcex=1,cex.axis=1,normalize=TRUE,mar=c(5,4,6,6),lwd=10,font=5,lty=3)
lpos<-1.5*sd(windMERRA)
legend(1.5,1.5,cex=1.2,pt.cex=1.2,legend=c("volcano"),pch=4,col=c("red"))
&#13;
答案 0 :(得分:0)
volcano
数据集是一个矩阵。 taylor.diagram()
期望ref
和model
参数的值向量。在函数中使用矩阵似乎导致矩阵的每列不止一个点,但我不确定它究竟是做什么的。检查数据的格式。如果它在矩阵中,那么您可以使用as.vector()
将它们转换为向量并在taylor.diagram()
中使用这些向量,并在绘制第一个数据集后使用'add = TRUE'。下面给出了volcano
的单个点的示例。
library(datasets)
library(ncdf4)
library(plotrix)
taylor.diagram(as.vector(volcano), # makes a vector
as.vector(volcano), # makes a vector
add=FALSE,
col="red",
pch=4,
pos.cor=TRUE,
xlab="MERRA SD (Normalised)",
ylab="RCA4 runs SD (normalised)",
main="Taylor Diagram",
show.gamma=TRUE,
ngamma=3,
sd.arcs=1,
ref.sd=TRUE,
grad.corr.lines=c(0.2,0.4,0.6,0.8,0.9),
pcex=1,cex.axis=1,
normalize=TRUE,
mar=c(5,4,6,6),
lwd=10,
font=5,
lty=3)
taylor.diagram(as.vector(volcano),
as.vector(volcano),
add=FALSE,
col="red",
pch=4,
pos.cor=TRUE,
xlab="MERRA SD (Normalised)",
ylab="RCA4 runs SD (normalised)",
main="Taylor Diagram",
show.gamma=TRUE,
ngamma=3,
sd.arcs=1,
ref.sd=TRUE,
grad.corr.lines=c(0.2,0.4,0.6,0.8,0.9),
pcex=1,cex.axis=1,
normalize=TRUE,
mar=c(5,4,6,6),
lwd=10,
font=5,
lty=3)
legend(1.5,1.5,cex=1.2,pt.cex=1.2,legend=c("volcano"),pch=4,col=c("red"))