You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求支持多类别符号与轴标签的3D散点图R绘图工具

3D散点图:分类符号与轴标注的解决方案

方案1:改进rgl原生用法

rgl的plot3d并非完全不支持多形状,只是无法直接全局设置pch,可以先创建带轴标注的空画布,再按分组逐个添加不同形状的点:

library(rgl)
set.seed(123)
# 生成示例数据
data <- data.frame(
  x = rnorm(100),
  y = rnorm(100),
  z = rnorm(100),
  group = factor(sample(1:3, 100, replace = TRUE))
)

# 创建带轴标签的空3D绘图
plot3d(
  data$x, data$y, data$z,
  type = "n",  # 不绘制默认点
  xlab = "X轴", ylab = "Y轴", zlab = "Z轴",
  main = "分类3D散点图"
)

# 按分组添加不同形状的点
shape_list <- c(1, 2, 16)  # 自定义每组对应的pch符号
color_list <- c("darkred", "steelblue", "forestgreen")
for (i in seq_along(levels(data$group))) {
  group_data <- subset(data, group == levels(data$group)[i])
  points3d(
    group_data$x, group_data$y, group_data$z,
    pch = shape_list[i],
    col = color_list[i],
    size = 2
  )
}

方案2:使用plotly(推荐,交互性强)

plotly支持直接将分组映射到标记符号,同时自动生成完整的轴标签、刻度,还支持拖拽旋转等交互操作:

library(plotly)
set.seed(123)
data <- data.frame(
  x = rnorm(100),
  y = rnorm(100),
  z = rnorm(100),
  group = factor(sample(1:3, 100, replace = TRUE))
)

# 定义分组对应的符号
symbol_mapping <- c("circle", "square", "diamond")
names(symbol_mapping) <- levels(data$group)

plot_ly(data, x = ~x, y = ~y, z = ~z,
        type = "scatter3d",
        mode = "markers",
        marker = list(
          symbol = ~symbol_mapping[group],
          size = 5,
          color = ~group
        )) %>%
  layout(
    scene = list(
      xaxis = list(title = "X轴"),
      yaxis = list(title = "Y轴"),
      zaxis = list(title = "Z轴")
    ),
    title = "分类3D散点图"
  )

方案3:使用lattice的cloud函数

适合生成静态3D图,语法简洁,原生支持分组符号和轴标注:

library(lattice)
set.seed(123)
data <- data.frame(
  x = rnorm(100),
  y = rnorm(100),
  z = rnorm(100),
  group = factor(sample(1:3, 100, replace = TRUE))
)

cloud(z ~ x * y, data = data,
      groups = group,
      pch = c(1, 2, 16),  # 每组对应的符号
      col = c("darkred", "steelblue", "forestgreen"),
      xlab = "X轴", ylab = "Y轴", zlab = "Z轴",
      main = "分类3D散点图")

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:20:38