前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >局部地图绘制真的太简单,推荐学习这个工具...

局部地图绘制真的太简单,推荐学习这个工具...

作者头像
DataCharm
发布2024-07-30 14:03:27
820
发布2024-07-30 14:03:27
举报
文章被收录于专栏:数据 学术 商业 新闻

前言

我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!

我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~

参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。

「ggmagnify」-局部图形绘制超好用工具~

最近,又有同学私信我咨询统计图形中要想显示局部部分,怎么快速绘制呢?

今天赶紧给大家推荐一个我常用的具体子图显示绘制工具-「ggmagnify」

  • ggmagnify包介绍

ggmagnify 是一个R语言中用于绘制放大镜效果的数据可视化工具,它基于ggplot2包,可以用于放大图表中的特定区域,并在放大的区域周围添加一个放大镜效果的框,以便更清晰地展示细节,特别是在数据密集的图表中。

  • ggmagnify包案例
代码语言:javascript
复制
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/。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 「ggmagnify」-局部图形绘制超好用工具~
  • 可视化学习圈子是干什么的?
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档