使用smoothScatter生成的颜色密度散点图的R图例

Bry*_*mas 8 r

我正在使用该smoothScatter()函数在R中生成颜色密度散点图.

例:

## A largish data set
n <- 10000
x1  <- matrix(rnorm(n), ncol = 2)
x2  <- matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2)
x   <- rbind(x1, x2)
oldpar <- par(mfrow = c(2, 2))
smoothScatter(x, nrpoints = 0)
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

我遇到的问题是我不确定如何添加描述不同色调之间数字术语相对差异的图例/颜色比例.例如,没有办法判断上图中最暗的蓝色是否是最轻的蓝色的2倍,10倍或100倍,没有某种图例或色标.在R中是否有任何方法可以检索必要的信息来制作这样的比例,或者内置的任何内容可以自动生成这种性质的色阶?

mne*_*nel 9

这是一个依靠fields::imageplot和一些摆弄的答案,par(mar) 以获得正确的边距

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

par(mar = c(5,4,4,5) + .1)
smoothScatter(x, nrpoints = 0, postPlotHook = fudgeit)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

你可以摆弄image.plot来获得你想要的东西,看看?bkde2Dtransformation争论,smoothScatter以了解颜色代表什么.

  • 问题:条形刻度中的0.5表示什么? (3认同)
  • 好的.现在,我知道值是fudgeit函数中'z'的数量.但是z表明了什么. (2认同)
  • 我第二个问题。秤上的数字是什么意思? (2认同)