r - ..level ..在ggplot::stat_density2d中是什么意思

标签 r ggplot2

在构造将fill变量设置为..level..的热图时,我已经看到了一些示例。

如本例所示:

library(MASS)
ggplot(geyser, aes(x = duration, y = waiting)) + 
    geom_point() + 
    geom_density2d() + 
    stat_density2d(aes(fill = ..level..), geom = "polygon")


我怀疑表示..level..设置为存在的相对层数吗?还可以有人给我链接一个很好的例子,说明如何解释这些2D密度图,每个轮廓代表什么等吗?我已经在网上搜索过,但是找不到任何合适的指南。

最佳答案

扩展@hrbrmstr提供的答案-首先,对geom_density2d()的调用是多余的。也就是说,您可以通过以下方式获得相同的结果:

library(ggplot2)
library(MASS)

gg <- ggplot(geyser, aes(x = duration, y = waiting)) + 
    geom_point() + 
    stat_density2d(aes(fill = ..level..), geom = "polygon")


让我们考虑其他可视化此密度估计值的方法,这些方法可能有助于弄清正在发生的情况:

base_plot <- ggplot(geyser, aes(x = duration, y = waiting)) + 
  geom_point()

base_plot + 
  stat_density2d(aes(color = ..level..))


Plot1

base_plot + 
  stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE)


Plot2

base_plot +
  stat_density2d(aes(alpha = ..density..), geom = "tile", contour = FALSE)


但是请注意,我们不再看到从geom_point()生成的点。

Plot3

最后,请注意,您可以控制密度估计的带宽。为此,我们将xy带宽参数传递给h(请参见?kde2d):

base_plot +
  stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE,
                 h = c(2, 5))


Plot4

同样,来自geom_point()的点被隐藏,因为它们位于对stat_density2d()的调用的后面。

关于r - ..level ..在ggplot::stat_density2d中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32206623/

相关文章:

r - ggplot2 在 x 轴上的 Year 变量结束时不断添加 .5

r - 转换堆积密度图中每个因子的高度 (ggplot2)

r - 在ggplot中使用 `facet_wrap`时如何修复x和y轴

r - 如何让purrr map 函数运行得更快?

r - 将cut()产生的标签格式化为百分比

r - 在 R 中使用因子变量在散点图旁边绘制直方图

r - 将线段添加到现有的小平面网格ggplot r

r - 使用 RPostgreSQL 从 R 中的数据框创建临时表

r - 有没有办法选择性地应用这个 stringr 函数?

r - 排序数据保持不同类型首次出现的原始相对位置