跟着高分SCI学画图:R语言2D散点核密度图

文摘   2024-08-28 23:45   德国  

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 进行举报,一经查实,本公众号将立刻删除涉嫌侵权内容。



科研生信充电宝
介绍科研;介绍统计;介绍生信;
 最新文章