前言
我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!
我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~
参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
「ggmagnify」-局部图形绘制超好用工具~
最近,又有同学私信我咨询统计图形中要想显示局部部分,怎么快速绘制呢?
今天赶紧给大家推荐一个我常用的具体子图显示绘制工具-「ggmagnify」
- ggmagnify包介绍
ggmagnify 是一个R语言中用于绘制放大镜效果的数据可视化工具,它基于ggplot2包,可以用于放大图表中的特定区域,并在放大的区域周围添加一个放大镜效果的框,以便更清晰地展示细节,特别是在数据密集的图表中。
- ggmagnify包案例
library(ggplot2)
library(ggmagnify)
ggp <- ggplot(dv, aes(Position, NegLogP))
geom_point(color = "darkblue", alpha = 0.8, size = 0.8)
labs(title = "GWAS p-values for cognitive function",
subtitle = "Davies et al. (2018).", y = "-log(p)")
from <- c(xmin = 9.75e7, xmax = 9.95e7, ymin = 16, ymax = 28)
# Names xmin, xmax, ymin, ymax are optional:
to <- c(2e8 - 2e7, 2e8 2e7,10, 26)
ggp geom_magnify(from = from, to = to)
代码语言:javascript复制ggpi <- ggplot(iris, aes(Sepal.Width, Sepal.Length, colour = Species))
geom_point() xlim(c(1.5, 6))
ggpi geom_magnify(aes(from = Species == "setosa" & Sepal.Length < 5),
to = c(4, 6, 6, 7.5))
代码语言:javascript复制
usa <- sf::st_as_sf(maps::map("state", fill=TRUE, plot =FALSE))
ggpm <- ggplot(usa)
geom_sf(aes(fill = ID == "texas"), colour = "grey20")
coord_sf(default_crs = sf::st_crs(4326), ylim = c(10, 50))
theme(legend.position = "none")
scale_fill_manual(values = c("TRUE" = "red", "FALSE" = "steelblue4"))
ggpm geom_magnify(aes(from = ID == "texas"),
to = c(-125, -98, 10, 30),
shadow = TRUE, linewidth = 1, colour = "orange2",
shape = "outline",
aspect = "fixed",
expand = 0)
代码语言:javascript复制
data <- data.frame(
x = runif(4000),
y = runif(4000)
)
ggm_unif <- ggplot(data, aes(x, y))
coord_cartesian(expand = FALSE)
geom_density2d_filled(bins = 50, linewidth = 0, n = 200)
geom_point(color='white', alpha = .5, size = .5)
theme(legend.position = "none")
ggm_unif
geom_magnify(from = c(0.05, 0.15, 0.05, 0.15), to = c(0.2, 0.4, 0.2, 0.4),
colour = "white", proj.linetype = 1, linewidth = 0.6)
geom_magnify(from = c(0.25, 0.35, 0.25, 0.35), to = c(0.45, 0.85, 0.45, 0.85),
expand = 0, colour ="white", proj.linetype = 1)
跟多关于ggmagnify包的绘图绘图函数和使用语法,可参考ggmagnify包官网[1]
可视化学习圈子是干什么的?
可视化学习圈子是书籍「科研论文配图绘制指南-基于Python」一书的学下圈子:主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:
- 视频教学,和读者零距离互动交流
- 及时修正勘误和定期新增绘制知识点
- 拓展衍生,绘图知识点远超书籍本身
- 直播视频 拓展资料 答疑,学习更高效
「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。
- 为何会有这个书籍学习社群?无门槛的微信群难免会鱼龙混杂,问题和质量都无法得到保证,而且一些关键问题经常被淹没,且没有沉淀价值。
- 随着添加我微信的人日益增多,向我提问的人也越来越多,随便回答一下就太不负责任了;不回答也不是很好;如果都仔细回答,我也有自己的工作并且确实很忙,真的有点心有余而力不足!所以我才会建立这么一个渠道来沉淀我的可视化技巧和分享经验,以及给大家提供一个坚持学习的平台。
参考资料
[1]
ggmagnify包官网: https://hughjonesd.github.io/ggmagnify/。