前言
一、tidyterra-R语言空间数据处理利器 二、可视化学习圈子是干什么的? 三、系统学习可视化 四、猜你喜欢
前言
我们的数据可视化课程上线啦!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!
我的可视化书籍学习社群上线啦!可视化学习社区以我的书籍《科研论文配图绘制指南-基于Python/R》为基础进行拓展,提供课堂式教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~
参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
「tidyterra」-R语言空间数据处理利器
在新增R语言可视化课程的时候,发现了一个非常棒的空间数据处理、可视化神器-「tidyterra」,就赶紧推荐给大家~~
(PS:后续相关案例也会免费更新到我们的课程中的哈)
tidyterra包介绍
tidyterra是一个 R 语言的工具包,用于处理空间数据和进行空间数据可视化。其主要特点包括使用简单、兼容性强、对空间数据的直观性支持更好等。
熟悉terra包的R语言使用者可定非常清楚该工具包的功能,而tidyterra就是继承terra包的全部功能,其目标是为使用terra} 包创建的对象提供tidyverse包通用方法:SpatRaster 和 SpatVector。同时它还为使用ggplot2绘制这些对象提供了用于可视化展示的geoms绘图功能。
以下是对 tidyterra 的详细介绍:
空间数据处理:
tidyterra 支持对各种空间数据进行处理,包括矢量数据、栅格数据和拓扑数据等。 可以使用 tidyverse 中的习惯用法,如管道操作符%>% ,使得空间数据的处理更加流畅和直观。 tidyterra 还支持与其他空间数据处理工具包的配合使用,如 sf、raster、stars 和 spatstat 等。
空间数据可视化:
tidyterra 提供了多种可视化工具,如 ggplot2、leaflet 和 mapview 等,能够满足不同需求下的空间数据可视化。 ggplot2 支持基于图层的绘图方法,可方便添加不同类型的空间数据并进行自定义调整。 leaflet 是一个基于 JavaScript 的交互式地图库,可以生成高度交互性的、响应式的网页地图。 mapview 提供了对大规模空间数据的快速可视化方法,可以方便地查看和探索空间数据的内在结构。
兼容性和易用性:
tidyterra 支持多种空间数据格式的导入和导出,包括 shp、gpkg、kml 和 geojson 等。 tidyterra 的语法设计遵循 tidyverse 的一致性风格,对于熟悉 tidyverse 的用户而言更加友好和易于使用。 tidyterra 还提供了详细的文档和演示代码,方便用户快速上手和理解其功能。
tidyverse包可视化案例
SpatRasters对象可视化
library(tidyterra)
library(terra)
# Temperatures
rastertemp <- rast(system.file("extdata/cyl_temp.tif", package = "tidyterra"))
# Rename
rastertemp <- rastertemp %>%
rename(April = tavg_04, May = tavg_05, June = tavg_06)
# Facet all layers
library(ggplot2)
ggplot() +
geom_spatraster(data = rastertemp) +
facet_wrap(~lyr, ncol = 2) +
scale_fill_whitebox_c(
palette = "muted",
labels = scales::label_number(suffix = "º"),
n.breaks = 12,
guide = guide_legend(reverse = TRUE)
) +
labs(
fill = "",
title = "Average temperature in Castille and Leon (Spain)",
subtitle = "Months of April, May and June"
)
# Create maximum differences of two months
variation <- rastertemp %>%
mutate(diff = June - May) %>%
select(variation = diff)
# Add also a overlay of a SpatVector
prov <- vect(system.file("extdata/cyl.gpkg", package = "tidyterra"))
ggplot(prov) +
geom_spatraster(data = variation) +
geom_spatvector(fill = NA) +
scale_fill_whitebox_c(
palette = "deep", direction = -1,
labels = scales::label_number(suffix = "º"),
n.breaks = 5
) +
theme_minimal() +
coord_sf(crs = 25830) +
labs(
fill = "variation",
title = "Variation of temperature in Castille and Leon (Spain)",
subtitle = "Average temperatures in June vs. May"
)
SpatVectors对象可视化
vect(system.file("ex/lux.shp", package = "terra")) %>%
mutate(pop_dens = POP / AREA) %>%
glimpse() %>%
autoplot(aes(fill = pop_dens)) +
scale_fill_whitebox_c(palette = "pi_y_g") +
labs(
fill = "population per km2",
title = "Population density of Luxembourg",
subtitle = "By canton"
)
其他案例
更多关于tidyterra包的语法和案例,可参考tidyterra包官网[1]
我的新书📖《科研论文配图绘制指南基于R语言》已经上市啦!作者专属半价优惠订阅链接如下:
可视化学习圈子是干什么的?
科研论文配图书籍学习圈子主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:
直播教学,和读者零距离互动交流 及时修正勘误和定期新增绘制知识点 拓展衍生,绘图知识点远超书籍本身 直播视频+拓展资料+答疑,学习更高效
「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。
为何会有这个书籍学习社群?无门槛的微信群难免会鱼龙混杂,问题和质量都无法得到保证,而且一些关键问题经常被淹没,且没有沉淀价值。
随着添加我微信的人日益增多,向我提问的人也越来越多,随便回答一下就太不负责任了;不回答也不是很好;如果都仔细回答,我也有自己的工作并且确实很忙,真的有点心有余而力不足!所以我才会建立这么一个渠道来沉淀我的可视化技巧和分享经验,以及给大家提供一个坚持学习的平台。
微信扫码下方二维码即可参与我们的书籍学习圈子啦:
系统学习可视化
当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。
猜你喜欢
参考资料
tidyterra包官网: https://dieghernan.github.io/tidyterra/index.html。