首页 > 解决方案 > 3D散点图使用R中的标记符号

问题描述

plotly我无法使用该软件包在 R 中以 3D 散点图显示所有我想要的符号。我知道我正在扩展可区分的内容(例如调色板大于 n=8 并且符号大于 n=6,R 引发警告),这对于我的探索目的来说是可以的,但是有没有办法强制编码我想要的标记样式?我试图遵循这个问题的答案,但它在我的情况下不起作用,所以我尝试提取可用的实际符号并对它们进行硬编码。我真正想要的是颜色和形状都随分类变量“物种”而变化。

这是我的假数据,我试图模仿 PCA 的结果:

df <- data.frame(my_x=rnorm(n=58,sd=30), 
   my_y=rnorm(n=58,sd=20),
   my_z=rnorm(n=58,sd=35),
   species=rep(letters,times=3, length.out=58))

#extracting possible symbols from plotly
vals <- schema(F)$traces$scatter$attributes$marker$symbol$values
vals <- grep("-", vals, value = T)
vals1 <- rep(vals[sample(x=c(1:length(vals)),size=58, replace = FALSE)

plot_ly() %>%
  add_trace(x= ~df$my_x, y= ~df$my_y, z= ~df$my_z,
            type="scatter3d", mode="markers", color=~df$species, symbol= ~I(vals1),
            marker = list(opacity = 0.7))

3d 散点图

在 Windows 10 上的 RStudio 版本 1.4.1103 中绘制版本 4.9.3 和 R 版本 4.0.3。

标签: rpcar-plotlyscatter3d

解决方案


推荐阅读