将图例添加到 rgl 3d 图
Adding a legend to an rgl 3d plot
我正在尝试使用带有颜色图例的 rgl 绘制 3d 图,指示哪种颜色指的是哪种 class(称为 'cut.rank'):
plot3d(
data.focus$normalized.price_shipping,
data.focus$seller_feedback_score_rank,
data.focus$seller_positive_feedback_percent_rank,
col=as.factor(data.focus$cut.rank),
size=1,
type='s',
xlab = 'Normalized Price',
ylab = 'Seller Feedbacl Score Rank',
zlab = 'Seller Positive Feedback Percent Rank',
main = 'Rank By Price, Feedback score and Positive Feedback Score',
sub = 'Search Rank has 3 colored levels',
colkey = list(length = 0.5, width = 0.5, cex.clab = 0.75))
)
但我似乎无法在情节中出现传说。 (见附图)
有什么想法吗?
我不确定 colkey
选项是否适用于 plot3d
函数。您可以使用 legend3d
而不是像在普通二维图中那样添加图例:
library(rgl)
#dummy data
set.seed(1)
x <- cumsum(rnorm(100))
y <- cumsum(rnorm(100))
z <- cumsum(rnorm(100))
cuts = cut(x = 1:length(x), breaks = 3)
# open 3d window
open3d()
# resize window
par3d(windowRect = c(100, 100, 612, 612))
# plot points
plot3d(x, y, z,
col=rainbow(3)[cuts],
size = 2, type='s')
# add legend
legend3d("topright", legend = paste('Type', c('A', 'B', 'C')), pch = 16, col = rainbow(3), cex=1, inset=c(0.02))
# capture snapshot
snapshot3d(filename = '3dplot.png', fmt = 'png')
更新:colkey
是plot3D
包中scatter3D
的参数(与rgl
包中的plot3d
函数不同) .您也可以使用它:
library(plot3D)
scatter3D(x,y,z, col = rainbow(3)[cuts], colvar = NA, colkey = F, pch = 16)
legend("topright", paste('Type', c("A", "B", "C")), pch = 16, col = rainbow(3), cex=1, inset=c(0.02,0.2))
我正在尝试使用带有颜色图例的 rgl 绘制 3d 图,指示哪种颜色指的是哪种 class(称为 'cut.rank'):
plot3d(
data.focus$normalized.price_shipping,
data.focus$seller_feedback_score_rank,
data.focus$seller_positive_feedback_percent_rank,
col=as.factor(data.focus$cut.rank),
size=1,
type='s',
xlab = 'Normalized Price',
ylab = 'Seller Feedbacl Score Rank',
zlab = 'Seller Positive Feedback Percent Rank',
main = 'Rank By Price, Feedback score and Positive Feedback Score',
sub = 'Search Rank has 3 colored levels',
colkey = list(length = 0.5, width = 0.5, cex.clab = 0.75))
)
但我似乎无法在情节中出现传说。 (见附图)
有什么想法吗?
我不确定 colkey
选项是否适用于 plot3d
函数。您可以使用 legend3d
而不是像在普通二维图中那样添加图例:
library(rgl)
#dummy data
set.seed(1)
x <- cumsum(rnorm(100))
y <- cumsum(rnorm(100))
z <- cumsum(rnorm(100))
cuts = cut(x = 1:length(x), breaks = 3)
# open 3d window
open3d()
# resize window
par3d(windowRect = c(100, 100, 612, 612))
# plot points
plot3d(x, y, z,
col=rainbow(3)[cuts],
size = 2, type='s')
# add legend
legend3d("topright", legend = paste('Type', c('A', 'B', 'C')), pch = 16, col = rainbow(3), cex=1, inset=c(0.02))
# capture snapshot
snapshot3d(filename = '3dplot.png', fmt = 'png')
更新:colkey
是plot3D
包中scatter3D
的参数(与rgl
包中的plot3d
函数不同) .您也可以使用它:
library(plot3D)
scatter3D(x,y,z, col = rainbow(3)[cuts], colvar = NA, colkey = F, pch = 16)
legend("topright", paste('Type', c("A", "B", "C")), pch = 16, col = rainbow(3), cex=1, inset=c(0.02,0.2))