2D散点核密度图介绍
今天我们来看几种2D散点核密度图的变体,它们使用核密度估计(KDE)方法来估计数据在二维空间中的密度分布。KDE是一种非参数方法,用于估计随机变量的概率密度函数,它不需要对数据的分布做出假设。在二维空间中,KDE可以生成一个平滑的密度曲面,该曲面在数据点密集的区域较高,在数据点稀疏的区域较低。
在这些图中,stat_density_2d函数负责计算二维核密度估计,并将结果以raster几何对象的形式绘制出来。颜色填充(通过aes(fill = ..density..)指定)用于表示密度的不同水平,从而生成了直观的密度图。这些图不仅展示了数据的分布形状,还通过颜色的深浅来反映了密度的变化。
可视化分析
代码
示例一:
数据展示:
# 从本地文件读取数据
data <- read.csv("data.csv")
# 加载所需包
library(ggplot2)
library(patchwork)
# 创建第一个图
plot1 <- ggplot(data, aes(x = x, y = y)) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette = 4, direction = -1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position = 'right'
)
# 创建第二个图
plot2 <- ggplot(data, aes(x = x, y = y)) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette = 4, direction = 1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position = 'right'
)
# 创建第三个图
plot3 <- ggplot(data, aes(x = x, y = y)) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette = "Spectral", direction = 1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position = 'right'
)
# 将三个图拼接在一起(一行三列)
final_plot <- plot1 + plot2 + plot3
final_plot
# 保存图像为PNG文件
ggsave("final_plot.png", final_plot, width = 12, height = 4)
示例二:
# Packages
library(hexbin)
library(RColorBrewer)
library(tidyverse)
# 从本地文件读取数据
data <- read.csv("data.csv")
# Create the density plot
ggplot(data, aes(x = x, y = y)) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette = 4, direction = -1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position = 'right'
)
# The direction argument allows to reverse the palette
ggplot(data, aes(x=x, y=y) ) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette=4, direction=1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position='right'
)
# You can also call the palette using a name.
ggplot(data, aes(x=x, y=y) ) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette= "Spectral", direction=1) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
theme(
legend.position='right'
)
本文作者:李家旭
现在:
长按扫码关注:科研生信充电宝
10元赞赏本文,即喜欢作者~
即可直接解锁:
《跟着高分SCI学画图:R语言2D散点核密度图》对应资源哦~
看到这里你还不心动吗?
赶紧关注、转发、点赞、分享,领取你的专属福利吧~
好啦,以上就是今天推文的全部内容啦!
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本公众号不拥有所有权,也不承担相关法律责任。
如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:kysxcdb@163.com 进行举报,一经查实,本公众号将立刻删除涉嫌侵权内容。