1

我以前没有使用过 plotrix,但我正在尝试创建一个泰勒图来显示再分析风速数据与来自 5 个不同 GCM 的 RCM RCA4 的建模风速预测之间的 SD 和 RMS 误差。

我正在使用的脚本如下所示(已编辑:可重现数据现已到位)。我不确定我做错了什么,但正如您从所附图像中看到的那样,正在为每个建模数据集绘制多个点,而不是一个奇异点......泰勒图测试图

任何关于我做错了什么以及如何纠正它的建议或指导将不胜感激。

提前致谢。

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"))

4

1 回答 1

2

数据集volcano是一个矩阵。taylor.diagram()期望值refmodel参数的向量。在函数中使用矩阵似乎会导致矩阵的每列不止一个点,但我不确定它究竟做了什么。检查数据的格式。如果它在矩阵中,那么您可以使用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"))
于 2017-08-23T10:12:36.223 回答