前言
今天是我的可视化课程上线的第231天,目前学员416人,每篇原创公众号都会记录这个人数,用来督促和激励我的原创内容。目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。
今天是我的可视化学习社群上线的第11天,目前学员116人,可视化学习社区以我的书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供课堂式教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~
参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
R语言散点密度图快速绘制
昨天给大家推荐了Python语言绘制散点密度图的可视化工具-mpl-scatter-density,很多同学都表示使用起来非常方便。但是也有同学一直使用R语言进行可视化绘图,所以今天这篇推文就给大家推荐R语言快速绘制散点密度图的方法。
(ps:Python和R我全都要)
R语言中虽然可以使用ggplot2中的geom_density_2d()函数完成散点密度图的绘制,但在参数的设置上稍显复杂,所以我们今天给大家推荐一个非常好用的拓展工具包-「ggpointdensity」
- 简单介绍
ggpointdensity是一个R语言中用于创建散点密度图的可视化工具包。它提供了一种直观的方式来显示数据的分布情况,特别适用于大量数据的可视化。
使用ggpointdensity包,你可以轻松地创建具有以下特点的点密度图:
- 显示数据的分布情况:通过点的密度来展示数据的分布情况,可以更清晰地看到数据的聚集和分布情况。
- 支持多变量分布:可以同时展示多个变量的分布情况,帮助你更好地理解不同变量之间的关系。
- 自定义图形样式:可以根据需要自定义点的形状、颜色、大小等参数,使得图形更具吸引力和可读性。
- 与ggplot2无缝集成:ggpointdensity包是基于ggplot2的,因此可以与ggplot2的其他功能无缝集成,如添加标签、调整坐标轴等。
- 安装方式
install.packages("ggpointdensity")
# Alternatively, you can install the latest
# development version from GitHub:
if (!requireNamespace("devtools", quietly = TRUE))
install.packages("devtools")
devtools::install_github("LKremer/ggpointdensity")
- 可视化案例
library(ggplot2)
library(dplyr)
library(viridis)
library(ggpointdensity)
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"))
ggplot(data = dat, mapping = aes(x = x, y = y))
geom_pointdensity()
scale_color_viridis()
geom_pointdensity()案例01
还可以通过修改geom_pointdensity()函数中的adjust参数,实现不同样式的散点密度图效果:
代码语言:javascript复制ggplot(data = dat, mapping = aes(x = x, y = y))
geom_pointdensity(adjust = .1)
scale_color_viridis()
ggplot(data = dat, mapping = aes(x = x, y = y))
geom_pointdensity(adjust = 4)
scale_color_viridis()
设置adjust参数效果
当然,分面绘图和修改散点的形状等操作,都是可以完成的,可视化效果如下:
facets分面
修改散点形状
更多关于ggpointdensity包的用法和案例,可参考ggpointdensity包官网[1]
可视化学习圈子是干什么的?
科研论文配图书籍学习圈子主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:
- 直播教学,和读者零距离互动交流
- 及时修正勘误和定期新增绘制知识点
- 拓展衍生,绘图知识点远超书籍本身
- 直播视频 拓展资料 答疑,学习更高效
「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。
- 为何会有这个书籍学习社群? 除了上面介绍到的原因之外,无门槛的微信群难免会鱼龙混杂,问题和质量都无法得到保证,而且一些关键问题经常被淹没,且没有沉淀价值。
- 随着添加我微信的人日益增多,向我提问的人也越来越多,随便回答一下就太不负责任了;不回答也不是很好;如果都仔细回答,我也有自己的工作并且确实很忙,真的有点心有余而力不足!所以我才会建立这么一个渠道来沉淀我的可视化技巧和分享经验,以及给大家提供一个坚持学习的平台。
参考资料
[1]
ggpointdensity包官网: https://github.com/LKremer/ggpointdensity。