首页 > 解决方案 > 如何在 3D 散点图中添加图例

问题描述

我有一个看起来像这样的 3D 散点图

3D 散点图

以及与之关联的代码如下

nr = c(114,114,1820,100,100)
acc = c(70.00,45.00,98.89,82.00,74.90)
ti = c(25.00,87.50,0.25,41.40,51.30)
label = c(1, 2, 3, 4, 5)
data = data.frame(nr, acc, ti, label)
library(scatterplot3d)
scatterplot3d(data$nr, data$acc, data$ti, main = "3D Plot - Requirements, Accuracy & Time", xlab = "Number of requirements", ylab = "Accuracy", zlab = "Time", pch = data$label, angle = 45)

现在,我想在右下角添加一个图例来指示这些符号的含义

tech <- c('BPL','W','RT','S','WSM')

例如,三角形代表 BPL,+ 代表 RT 等等

标签: r3d

解决方案


你可以试试这个:

library(scatterplot3d)
# define a plot
s3d <-scatterplot3d(data$nr, data$acc, data$ti, main = "3D Plot - Requirements, Accuracy & Time",
              xlab = "Number of requirements", ylab = "Accuracy", zlab = "Time", pch = data$label, angle = 45)

# add a legend
legend("topright",s3d$xyz.convert(18, 0, 12), pch = data$label, yjust=0,
       # here you define the labels in the legend
       legend = c('BPL','W','RT','S','WSM'), cex = 1.1
       )

在此处输入图像描述


推荐阅读