暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言绘图|3D散点图

4524
点击关注了解更多哦

本文主要介绍如何在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() 函数查看。


如有帮助请多多点赞哦!

参考资料

[1]

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论