将标签名称绘制到plot3d(rgl)生成的3D图上

时间:2012-01-04 20:32:14

标签: r plot text 3d rgl

我想使用plot3d() rgl )绘制来自具有3个维度的MDS分析的结果。数据和代码如下所示:

   threedim$points
              [,1]        [,2]      [,3]        [,4]
   Dutch      -6.45931417  -2.1589222 -5.829244  -0.4891066
   German     -7.27770201   0.2666916 -2.198595   6.8658602
   Albanian    4.11799731   0.6810336 11.356935  -2.2623921
   Armenian   13.58431670  21.6527626 -2.245146   6.3506665
   French     -0.24170759  -0.8579159 14.197611  -0.1871443

   threedim$points[,1] -> x
   threedim$points[,2] -> y
   threedim$points[,3] -> z
   library(rgl)
   plot3d(x,y,z)
   text(c("Dutch","German","Albanian","Armenian","French"))

我收到以下错误消息:

  

“警告讯息:   在xy.coords中(x,y,recycle = TRUE):由强制引入的NA“

我做错了什么?

1 个答案:

答案 0 :(得分:9)

使用text3d而非尝试将text(基础图形)与rgl图形混合......

dat <- read.table(textConnection(
"nation    x y z w                                 
Dutch      -6.45931417  -2.1589222 -5.829244  -0.4891066
German     -7.27770201   0.2666916 -2.198595   6.8658602
Albanian    4.11799731   0.6810336 11.356935  -2.2623921
Armenian   13.58431670  21.6527626 -2.245146   6.3506665
French     -0.24170759  -0.8579159 14.197611  -0.1871443"),
header=TRUE,as.is=TRUE)

library(rgl)
with(dat,plot3d(x,y,z))
with(dat,text3d(x,y,z,nation))