如何在ggplot2中绘制具有不同因子的一维点的密度

科林·迈克尔·林奇

我正在尝试使用ggplot2将单个点放置在绘图上,但是由于有很多点,因此很难衡量点的密集程度。在这里,有两个因素要与连续变量进行比较,我想更改这些点的颜色以反映它们与邻居的紧密程度。我在ggplot2中使用geom_point函数来绘制点,但是我不知道如何在颜色上提供正确的信息。

这是我正在使用的代码:

s1 = rnorm(1000, 1, 10)
s2 = rnorm(1000, 1, 10)

data = data.frame(task_number = as.factor(c(replicate(100, 1), 
                                            replicate(100, 2))), 
                  S = c(s1, s2))

ggplot(data, aes(x = task_number, y = S)) + geom_point()

生成此图:

一维密度图

但是,我希望它看起来更像此图像,但具有一维而不是二维(我是从此网站借来的:https//slowkow.com/notes/ggplot2-color-by-density/):

2D密度图

如何更改第一个图的颜色使其类似于第二个图的颜色?

马吕斯

我认为棘手的事情是您想要显示原始值,并评估这些值下的密度。我从这里借来实现这一目标。

library(dplyr) 

data = data %>%
    group_by(task_number) %>%
    # Use approxfun to interpolate the density back to
    # the original points
    mutate(dens = approxfun(density(S))(S))

ggplot(data, aes(x = task_number, y = S, colour = dens)) +
    geom_point() +
    scale_colour_viridis_c()

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在ggplot2中的地图上的点周围绘制具有一定半径的圆

ggplot2密度绘制R中不同大小的数据

如何在ggplot2中的同一图上绘制线和点?

如何使用具有不同列长 ggplot2 的数据构建累积密度图?

如何在ggplot2中绘制裁剪的密度图而不会丢失任何部分

ggplot2密度与密度函数有何不同?

当美学不具有长度1或与数据相同的长度时,如何在ggplot2中绘制线段

如何在ggplot2中正确绘制多个具有数字x值的箱形图?

如何在ggplot2中绘制具有正确间隔的连续x轴值的箱线图

如何在具有不同画布大小的ggplot2图的网格中保持一致的轴缩放

在R ggplot2中的相同因子内为每个点显示不同的符号

具有因子变量的ggplot密度

ggplot2在一张3d图表中绘制了几条密度线

改善ggplot2中的概率密度函数的绘制

如何在具有不同y范围的ggplot中绘制双y轴?

在ggplot2中的x轴上绘制有序因子

如何控制首先在ggplot2中绘制哪个因子?

如何在ggplot2中绘制Gamma分布

如何在ggplot2中绘制函数族

如何在ggplot2中绘制logit和概率

如何在ggplot2或R中绘制雷达图

如何在ggplot2中绘制自举斜率的向量?

如何在ggplot2中绘制参数曲线

在ggplot2中将密度线添加到具有多个变量的直方图

ggplot2中的比例密度图具有相同的x轴范围

ggplot2:如何在相同因子的不同图中使用相同的颜色

如何使用 ggplot2 在一个图中绘制二维数组的行?

尝试在ggplot2中创建具有标准偏差的2因子条形图

如何在x轴上添加代表ggplot2中所有观测值的因子水平?