微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中的一个图中的多重泰勒图

如何解决R中的一个图中的多重泰勒图

我试图在同一taylor diagram上为每个data.frame (i.e.,Precipitation,Max_Temp,and Min_temp)绘制figure。每个data.frame都有一个ref observation表示的model outputs(A1,G2,and G3)。任何帮助将不胜感激。

library(tidyverse)
library(plotrix)

set.seed(123)

precipitation <- data.frame(Ref = runif(730,1,5),A1 = runif(730,8),G2 = runif(730,2,6),G3 = runif(730,7)) 
Max_Temp <-  data.frame(Ref = runif(730,-5,30),-8,32),-2,28),-10,25))
Min_Temp <-  data.frame(Ref = runif(730,-20,-25,10),-15,10))

我尝试用代码绘制降水图,但出现错误

precipitation %>% 
  pivot_longer(names_to = "Models",values_to = "values",-Ref) %>% 
  taylor.diagram(Ref,values,col = Models)

我想要一个像下面的图

enter image description here

解决方法

我不确定您的样本数据是否会产生您期望的图,但是您可以尝试过滤每个模型的数据框,并使用add = TRUE选项将点覆盖在同一图上。另外,我认为explosion pipe会有所帮助(%$%,而且我刚刚得知它实际上在docs中称为“博览会管道”:

library(tidyverse)
library(plotrix)
library(magrittr)

set.seed(123)
precipitation <- data.frame(Ref = runif(730,1,5),A1 = runif(730,8),G2 = runif(730,2,6),G3 = runif(730,7)) 
Max_Temp <-  data.frame(Ref = runif(730,-5,30),-8,32),-2,28),-10,25))
Min_Temp <-  data.frame(Ref = runif(730,-20,-25,10),-15,10))

precipitation %>% 
  pivot_longer(names_to = "Models",values_to = "values",-Ref) %>% 
  filter(Models == "A1") %$%
  taylor.diagram(Ref,values,col = "blue",pch = 1)

precipitation %>% 
  pivot_longer(names_to = "Models",-Ref) %>% 
  filter(Models == "G2") %$%
  taylor.diagram(Ref,col = "red",pch = 2,add = TRUE)

precipitation %>% 
  pivot_longer(names_to = "Models",-Ref) %>% 
  filter(Models == "G3") %$%
  taylor.diagram(Ref,col = "green",pch = 3,add = TRUE)

example_2.png

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。