本文主要介绍如何在R语言中利用plot3D[1]、scatterplot3d[2]以及plot3Drgl[3]包绘制3D形式散点图。
1、数据准备
生成一个模拟数据,共有3列,分别为纬度(lat)
、经度(lng)
以及观测值(value)
。
data <- data.frame(
lat = runif(100, min = 20, max = 50 ),
lng = runif(100, min = 73, max = 135),
value = runif(100, min = 0, max = 100))
head(data)
# lat lng value
#1 29.98593 129.69755 37.958646
#2 48.24511 110.40955 90.463863
#3 39.45392 106.99731 7.129664
#4 22.44685 86.94578 44.701096
#5 23.26672 79.61606 98.878179
#6 25.58567 119.06213 57.928073
2、plot3D包
install.packages("RColorBrewer")
install.packages("plot3D")
library(RColorBrewer)
library(plot3D)
scatter3D(x = data$lat, y = data$lng, z = data$value)

进一步调整
scatter3D(x = data$lat, y = data$lng, z = data$value, pch = 19, cex= 1.2, col = brewer.pal(6, "Blues"),
ticktype = "detailed", xlab = "lat", ylab = "lng", zlab = "value", bty="b2", theta = 45)
参数解读:x,y,z
分别对应的各个维度数值。pch
为点类型,cex
为放缩比例,col
为颜色,ticktype
显示刻度,xlab/ylab/zlab
分别为对应轴标题,bty
为框类型,可以为“b”, “b2”, “f”, “g”, “bl”, “bl2”, “u”, “n”其中的一个,theta
为旋转角度。
3、scatterplot3d包
install.packages("scatterplot3d")
library(scatterplot3d)
scatterplot3d(x = data$lat, y = data$lng, z = data$value, color = "red")

进一步调整
scatterplot3d(x = data$lat, y = data$lng, z = data$value, pch = 8, angle = 45,
color = colorRampPalette(brewer.pal(8, "Spectral"))(100),
col.axis = "blue", col.lab = "black", col.grid = "grey",
xlab = "lat", ylab = "lng", zlab = "value")
参数解读:x,y,z
分别对应的各个维度数值pch
为点类型,angle为旋转角度,color
为点颜色, col.
系列控制框线、标签等颜色,xlab/ylab/zlab
分别为对应轴标题
4、plot3Drgl包
plot3Drgl是对plot3D包的进一步扩展,在静态图的基础上将其变为可以自由旋转的图形。
install.packages("plot3Drgl")
library(plot3Drgl)
scatter3Drgl(x = data$lat, y = data$lng, z = data$value,
ticktype = "detailed", xlab = "lat", ylab = "lng", zlab = "value", theta = 45)

5、其他
关于各绘图函数参数调整可进一步阅读参考文档,或在R中通过help() 函数查看。
如有帮助请多多点赞哦!
参考资料
plot3D: https://cran.r-project.org/web/packages/plot3D/index.html
[2]scatterplot3d: https://cran.r-project.org/web/packages/scatterplot3d/index.html
[3]plot3Drgl: https://cran.r-project.org/web/packages/plot3Drgl/index.html
文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




