Есть ли функция R, которая может помочь мне изменить размер точек диаграммы рассеяния на парижском графике?

Я использовал pairs(fit, pars = c("mu", "sigma", "lambda"), include = TRUE) для создания гистограмм и диаграмм рассеяния между каждой парой переменных моей модели стана. Сейчас точки на диаграмме рассеяния очень большие, например: введите здесь описание изображения

Я хочу сделать точки меньше и четче, также, если это возможно, я также хотел бы изменить цвет графика. Есть ли функция R, которая может помочь мне в этом? Спасибо!


person Michael Zhang    schedule 09.03.2020    source источник


Ответы (1)


Если вы просто хотите построить точки, это можно сделать, указав пользовательскую функцию:

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

введите здесь описание изображения

Под параметром панели мы указали функцию точки, которая имеет «синий» цвет, а 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 практически не влияет. Читая исходный код, обратите внимание, что может могут быть случаи, когда эта вышеприведенная функция будет отличаться количеством нанесенных точек. Поэтому вам следует просто указать, что вы начертили с помощью приведенной выше функции, и не предполагать, что это эквивалентно функции pair.stanfit().

person StupidWolf    schedule 09.03.2020