нанесение имен меток на трехмерный график, созданный plot3d (rgl) - PullRequest
9 голосов
/ 05 января 2012

Я хотел бы построить результаты анализа MDS с 3 измерениями, используя plot3d() ( rgl ).Данные и код выглядят так:

   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):АН введены по принуждению "

Что я делаю не так?

1 Ответ

9 голосов
/ 05 января 2012

Используйте 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))
...