ускорить прорисовку стрелки3D в R - PullRequest
0 голосов
/ 28 ноября 2018

Мне нужно использовать arrow3D () в пакете R "составы", чтобы построить много стрелок на трехмерном графике.Тем не менее, в то время как arrow3d () может взять две матрицы и построить все стрелки вместе, он не может правильно управлять вектором цветов.Поэтому мне нужно написать цикл, чтобы правильно нарисовать каждую стрелку с соответствующим цветом.Как бы то ни было, это очень медленно.Вот ниже воспроизводимый пример.Очевидно, что на графике слева есть стрелки с неправильным цветом.Любая помощь, чтобы ускорить это будет высоко ценится.Бест Паоло

library(compositions)
library(rgl)
g1<- cbind(rnorm(100,1,2),rnorm(100,1,2),rnorm(100,1,2))
g2<- cbind(rnorm(100,1,2),rnorm(100,5,2),rnorm(100,1,2))
g3<- cbind(rnorm(100,1,2),rnorm(100,7,2),rnorm(100,1,2))
x<-rbind(g1,g2,g3)
cols<-rep(1:3,each=100)
x0 <- x+13
mfrow3d(1,2,sharedMouse = T)
spheres3d(x,col=cols,radius=0.2)
spheres3d(x0,col=cols,radius=0.2)
arrows3D(x0,x,col=cols,length=0.1)
next3d()
spheres3d(x,col=cols,radius=0.2)
spheres3d(x0,col=cols,radius=0.2)
for(i in 1:nrow(x)){
  arrows3D(x0[i,],x[i,],col=cols[i],length=0.1)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...