使用 openair 和 hexbin 创建散点图矩阵

create scatter plot matrix with openair and hexbin

我使用 openairhexbin 包在散点图函数命令的帮助下创建了两个散点图:

scatterPlot(mydata, x ="Observed" , y = "Model1",xlab=10, ylab=10,method = "hexbin",mod.line=T,auto.text=F, col = "jet", xbin = 30)

scatterPlot(mydata, x ="Observed" , y = "Model2",xlab=10, ylab=10,method = "hexbin",mod.line=T,auto.text=F, col = "jet", xbin = 30)

我有散点图,但如果我想将它们放在一个图中并用一种颜色计数以获得类似于 this:How 的结果,我应该继续吗?

please refer to this link to view the image : https://ibb.co/rF148kp

您可以重新组织数据框,使其具有三列 - "Observed"、"Modeled" 和 "Model Type"。示例 -

structure(list(observed = c(2L, 2L, 4L, 4L, 6L, 6L, 8L, 8L, 10L, 
10L, 12L, 12L, 14L, 14L, 16L, 16L, 18L, 18L, 20L, 20L), modelled = c(1L, 
5L, 7L, 2L, 5L, 9L, 13L, 15L, 16L, 14L, 18L, 17L, 10L, 21L, 26L, 
24L, 22L, 28L, 27L, 30L), model_type = structure(c(1L, 2L, 1L, 
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 
2L), .Label = c("Model 1", "Model 2"), class = "factor")), class = "data.frame", 
row.names = c(NA, 
-20L))

这样,您就可以使用下面的代码了 -

scatterPlot(mydata, x = "observed", y = "modelled", type = c("model_type"),
        method = "hexbin",mod.line=T,auto.text=F, col = "jet", xbin = 5,
        linear = TRUE, layout = c(2, 1))

创建一个包含两个散点图的图。注意,上面的代码将 xbin 设置为 5 纯粹是因为我使用了一个小数据集来进行测试。另外,请原谅y轴和代码的拼写错误("modelled"应该是"modeled")!