Влияние функции преобразования на график smoothScatter в R - PullRequest
0 голосов
/ 17 октября 2019

Я использую smoothScatter в R для построения графика плотности двух переменных. Что мне не понятно, так это то, как функция преобразования связана с диапазоном цветовой шкалы.

Чтобы проиллюстрировать это, есть 4 графика, которые были сгенерированы с использованием следующего кода. В каждом из них я просто меняю функцию преобразования, чтобы увидеть эффект от цветовой шкалы. Преобразование x ^ 2 Преобразование x ^ 0.10 Преобразование x ^ 10 Преобразование x ^ 0.25

Любые идеи о том, чтоцветовая шкала на самом деле означает, и как сделать цветовую шкалу сравнимой с графиком smoothScatter другой переменной, будет высоко ценится!

#
fudgeit <- function(){
  xm <- get('xm', envir = parent.frame(1))
  ym <- get('ym', envir = parent.frame(1))
  z  <- get('dens', envir = parent.frame(1))
  colramp <- get('colramp', parent.frame(1))
  fields::image.plot(xm,ym,z, col = colramp(256), legend.only = T, add =F)
}
#
a = runif(30000)
b = rnorm(30000, mean=100, sd=10)
#
dat = cbind(a,b)
dat = as.data.frame(dat)
#
file_name = paste("F:/pl/transformation_x2.png")
png(file_name, units='px', width=1200, height=650)
#
par(mfrow=c(1,2))
plot(dat$a, dat$b, pch=19, cex=0.2, las=1, main="Transformation x^2")
#
par(mar = c(5,4,4,5) + 3)
smoothScatter(dat$a, dat$b, las=1, nbin = 100, 
              nrpoints=0, col=brewer.pal(n = 100, name = "RdBu"), pch=19, cex=.9, postPlotHook = fudgeit,
              transformation=function(x) x^2)
#
dev.off()
...