ggpointdensity:R绘制密度散点图
2020-06-30 11:22
78 查看
绘制散点图时,若散点数目很多,散点之间相互重叠,则不易观察散点趋势,此时可绘制密度散点图解决
导入包
library(ggplot2) library(dplyr) library(viridis) # 使用viridis提供的翠绿色标度:scale_fill_viridis() library(ggpointdensity) # 绘制密度散点图 library(cowplot) # 图形组合,可以自动对其坐标轴
生成绘图数据
dat <- bind_rows( tibble(x = rnorm(7000, sd = 1), y = rnorm(7000, sd = 10), group = "foo"), tibble(x = rnorm(3000, mean = 1, sd = .5), y = rnorm(3000, mean = 7, sd = 5), group = "bar"))
绘图
# 散点图 p1 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_point() + labs(tag = "A") + # 添加子图标记 theme_classic() # 散点图+密度线(geom_density2d) p2 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_point() + geom_density2d(size = 1) + labs(tag = "B") + theme_classic() # 封箱散点图(geom_bin2d) p3 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_bin2d(bins = 60) + # bins控制着图中每个箱子的大小 scale_fill_viridis() + labs(tag = "C") + theme_classic() # 密度散点图(geom_pointdensity) p4 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_pointdensity() + scale_color_viridis() + labs(tag = "D") + theme_classic() # 组合4幅图形 plot_grid(p1, p2, p3, p4, nrow = 2)
4幅图比较
geom_point
为ggplot2自带的绘图函数;A图各位置点的数量观察不清geom_density2d
为ggplot2自带的绘图函数,可以绘制密度等高线(图B)geom_bin2d
为ggplot2自带的绘图函数;先将散点封箱处理,然后绘制出箱子,箱子的颜色取决于箱子内散点的数量(图C)geom_pointdensity
为ggpointdensity包的函数;各散点的颜色取决于改点周围临近点的数量(图D)- 图C与图D效果类似,但图C的箱子已不再是真实的散点,而图D为真实的散点;比较图C、图D与原始图A的散点稀疏区域便可发现
geom_pointdensity
-
geom_pointdensity的详细用法可参阅文档
-
adjust参数:控制着判定两个点为临近点时所使用的阈值,该值越大则越光滑
p5 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_pointdensity(adjust = .1) + scale_color_viridis() + labs(tag = "A", title = "adjust = 0.1") + theme_classic() p6 <- ggplot(data = dat, mapping = aes(x = x, y = y)) + geom_pointdensity(adjust = 4) + scale_color_viridis() + labs(tag = "B", title = "adjust = 4") + theme_classic() plot_grid(p5, p6, nrow = 1)
相关文章推荐
- python 绘制密度散点图
- matplotlib绘制散点图
- 数据挖掘之密度聚类---RStudio绘制中国城市密度图
- 使用matplotlib绘制散点图
- 使用matplotlib绘制散点图
- matplotlib绘制散点图
- R中的直方图和核密度图绘制
- R语言 绘制三维散点图的预测曲面
- Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
- Python数据可视化学习笔记:第一章 关联图 第二节 使用Python绘制多类别散点图
- Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
- 数据挖掘之密度聚类---RStudio绘制中国城市密度图
- qplot\ggplot2 绘制箱型图、散点图
- 使用Silverlight Toolkit绘制图表(下)--饼图,折线图,散点图
- Python 3基础教程48-Matplotlib绘制散点图和柱状图
- 【Python那些事儿】为多变量数据绘制散点图
- JupyterLab绘制:柱状图,饼状图,直方图,散点图,折线图
- 十、matplotlib系列---pyplot散点图的绘制
- python matplotlib模块——绘制三维图形、三维数据散点图
- Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)