是否有 R 函数可以帮助我修改巴黎图中散点图点的大小?

Is there an R function that can help me modify the size of scatterplot-points in a paris plot?

我使用 pairs(fit, pars = c("mu", "sigma", "lambda"), include = TRUE) 在我的 stan 模型的每对变量之间创建了直方图和散点图。现在散点图中的点非常大,像这样:

我想让点更小更清晰,如果可能的话我也想改变绘图的颜色。有没有可以帮助我做到这一点的 R 函数?谢谢!

如果您只想绘制点,可以通过指定自定义函数来完成:

library(rstan)
example(read_stan_csv)
pairs(fit, pars = c("mu", "sigma", "alpha"), log = TRUE,
panel=function(x,y)points(x,y,col="blue",pch=20,cex=0.6))

在面板参数下,我们指定了一个具有颜色的点函数"blue",cex是调整点大小的参数。

默认图是 smoothScatter 图,而不是单个点,它显示数据点的密度。要更改它,您必须调用 smoothScatter 作为面板函数,并且颜色作为调色板提供。例如:

library(RColorBrewer)
PAL = colorRampPalette(c("white",brewer.pal(6,"Greens")))

pairs(fit, pars = c("mu", "sigma", "alpha"), log = TRUE,
panel=function(x,y){smoothScatter(x,y,add=T,colramp = PAL,cex=2)})

如前所述,它不是散点图,所以你可以看到cex几乎没有影响。阅读 source code,请注意,在某些情况下,上面的函数可能会在绘制的点数上有所不同。因此,您应该只指定使用上面的函数绘制的内容,而不是假设它等同于 pair.stanfit() 函数。