等高线其实是可视化中非常常见的一种数据表现方式,不仅仅用于地理学,多种反应空间平面下属性梯度变化的情况均可以很好的使用。建议稍微有ggplot2基础,不然我推荐用excel其实也能搞定。
1. R base的函数contour()
很简单,数据的数据需要有三列x,y,属性值(z值/表达量/距离等)
效果示意
操作简单,但是图也同样简单,所以也不大符合我们的预期
2. ggplot2绘制等高线图
通过ggplot2绘制需要搭载一个ggisoband的包
安装:
devtools::install_github("clauswilke/ggisoband")
使用:
library(ggplot2)
library(ggisoband)
# 数据 同样就是一个x,y, z/其他属性的数据框
volcano3d <- reshape2::melt(volcano)
names(volcano3d) <- c("x", "y", "z")
# 可视化1
ggplot(volcano3d, aes(x, y, z = z)) +
geom_isobands(aes(color = stat(zmin)), fill = NA) +
scale_color_viridis_c() +
coord_cartesian(expand = FALSE) +
theme_bw()
# 可视化2
ggplot(volcano3d, aes(x, y, z = z)) +
geom_isobands(aes(fill = stat(zmin)), color = NA) +
scale_fill_viridis_c(guide = "legend") +
coord_cartesian(expand = FALSE) +
theme_bw()
效果展示:
可视化2效果
包的信息具体可以参考:https://github.com/clauswilke/ggisoband
有其他问题欢迎评论区交流~
网友评论