我是R的新手,在可视化一些数据方面遇到了一些困难。我在这个表单中有一些数据:picture of data table
我使用上面的函数来对它们进行3d绘图:
scatter3D(x=data$X,y=data$Y,z=data$Depth,bty="g",pch=20,cex=2,ticktype="detailed")
现在我想将名称(标签)添加到每个点(例如A1、A2等)。并创建具有不同颜色的组(例如,点A1到A3蓝,点A4到A6红)。我不知道我该怎么做。
发布于 2021-07-18 06:27:29
由于您没有提供数据,因此不可能提供与您的问题直接相关的答案。始终建议使用dput()至少提供数据的一个子集。数据的图片不能提供有用的信息。还要指出您已加载的包。在这种情况下,您可能已经加载了包含scatter3D函数的plot3D。
scatter3D的手册页(?scatter3D)提供了您所有问题的答案,但它很详细,很难理解。研究手册页面上提供的示例,以下内容似乎可以满足您的需求。它使用随R提供的USArrests数据集:
library(plot3D)
data(USArrests)
UP <- cut(USArrests$UrbanPop, breaks=quantile(USArrests$UrbanPop), include.lowest=TRUE)这将加载数据集,并从变量UrbanPop创建一个分类变量。现在来看基本的情节:
with(USArrests, scatter3D(Murder, Assault, Rape, colvar = as.numeric(UP),
col = c("red", "green", "blue", "violet"), theta = 60, phi = 20,
xlab = "Murder", ylab = "Assault", zlab = "Rape", main = "USA arrests",
cex = 1, pch=16, bty = "g", ticktype = "detailed",
d = 2, clab = "Urban Population", adj = 0.5, font = 2,
colkey=list(at = c(1.4, 2.1, 2.9, 3.6), side = 1,
addlines = TRUE, length = 0.75, width = 0.5,
labels = c("1st Quart", "2nd Quart", "3rd Quart", "4th Quart"))))这将创建基本的图,其中的圆圈由每个州的城市人口百分比的四分位数着色。获取用于标记图例(at=)的位置需要进行一些试验和错误。现在我们添加文本标签:
with(USArrests, text3D(Murder, Assault, Rape, colvar = as.numeric(UP),
col = c("red", "green", "blue", "violet"), colkey=FALSE,
labels = state.abb, cex = .75, adj=-.5, add=TRUE))我们使用state.abb,它为每个州提供两个字符的缩写。

https://stackoverflow.com/questions/68421879
复制相似问题