繁体   English   中英

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

[英]R legend for color density scatterplot produced using smoothScatter

我正在使用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)

输出:

在此处输入图片说明

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

这是一个依靠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)

在此处输入图片说明

你可以摆弄image.plot得到你想要什么,并看看?bkde2Dtransformation参数smoothScatter得到一个什么样的颜色代表一个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM