泰勒图

作者

[编辑] 郑虎;

[审核] .

注记

Hiplot 网站

本页面为 Hiplot Taylor Diagram 插件的源码版本教程,您也可以使用 Hiplot 网站实现无代码绘图,更多信息请查看以下链接:

https://hiplot.cn/basic/taylor-diagram?lang=zh_cn

可以用于同时展示模型标准差(standard deviation, SD)、均方根(root mean square,RMS)误差和相关系数。

环境配置

  • 系统: Cross-platform (Linux/MacOS/Windows)

  • 编程语言: R

  • 依赖包: openair

# 安装包
if (!requireNamespace("openair", quietly = TRUE)) {
  install.packages("openair")
}

# 加载包
library(openair)

数据准备

# 加载数据
dat <- selectByDate(mydata, year = 2003)

# 整理数据格式
dat <- data.frame(date = mydata$date, obs = mydata$nox, mod = mydata$nox)
dat <- transform(dat, month = as.numeric(format(date, "%m")))
mod1 <- transform(dat, mod = mod + 10 * month + 10 * month * rnorm(nrow(dat)),
model = "model 1")
mod1 <- transform(mod1, mod = c(mod[5:length(mod)], mod[(length(mod) - 3) :
length(mod)]))
mod2 <- transform(dat, mod = mod + 7 * month + 7 * month * rnorm(nrow(dat)),
model = "model 2")
mod3 <- transform(dat, mod = mod + 3 * month + 3 * month * rnorm(nrow(dat)),
model = "model 3")
mod.dat <- rbind(mod1, mod2, mod3)

# 查看数据
head(mod.dat)
                 date obs      mod month   model
1 1998-01-01 00:00:00 285 454.5395     1 model 1
2 1998-01-01 01:00:00  NA 281.4804     1 model 1
3 1998-01-01 02:00:00  NA 196.2472     1 model 1
4 1998-01-01 03:00:00 493 221.3372     1 model 1
5 1998-01-01 04:00:00 468 151.4479     1 model 1
6 1998-01-01 05:00:00 264 120.6350     1 model 1

可视化

# 泰勒图
TaylorDiagram(mod.dat, obs = "obs", mod = "mod", group = "model",
              main = "Taylor diagram", 
              cols = c("#00468BFF","#8e6097","#BFACF0FF"))
图 1: 泰勒图