Сбой legend3d в RGL: "Загрузка Pixmap: формат файла не поддерживается"

Я использую пакет rgl для рисования трехмерной диаграммы рассеяния в R. Все работает нормально, за исключением легенды, которая не отображается на трехмерном графике, и у меня есть это предупреждение:

Warning messages: 1: In rgl.material(color = color, back = back, ...) : RGL: Pixmap load: file format unsupported 2: In rgl.material(color = color, back = back, ...) : RGL: Pixmap load: failed

Пример для командной строки:

#if needed: install.packages("rgl")
library(rgl)
pca<-data.frame(replicate(10,sample(0:50,1000,rep=TRUE)))
mygroups <- as.factor(pca$X10) 

acp3d<-function(pca, comp=1:3, group=mygroups, plotVars = FALSE, 
            pointSize=2, plotText=FALSE){
x<-pca
hashCol<-rainbow(nlevels(group))
names(hashCol)<-levels(group)
colors<-hashCol[group]
percentVar <- pca$percentVar
plot3d(x[,comp[1]],x[,comp[2]],x[,comp[3]],
     xlab=paste0("PC",comp[1],": ",round(percentVar[comp[1]] * 100),"% variance"), 
     ylab=paste0("PC",comp[2],": ",round(percentVar[comp[2]] * 100),"% variance"), 
     zlab=paste0("PC",comp[3],": ",round(percentVar[comp[3]] * 100),"% variance"),
     col=colors,size=5,type=ifelse(plotText,"n","p"),box = FALSE)

legend3d("topright", legend = names(hashCol), pch = 16, col = hashCol, cex=1, inset=c(0.02))
}
acp3d(pca)

У кого-то была та же проблема, что и у меня ( не работает функция legend3d в последней версии пакета rgl), поэтому я попытался установить zlib в соответствии с рекомендациями. Я скачал zlib-1.2.11 и поместил папку в C:\Program Files\R\R-3.4.1\library, но это не решило мою проблему. Я также установил zlibbioc через biocLite, но без улучшений. В соответствии с рекомендацией, я также посмотрел в C:/Program Files/R/R-3.4.1/etc/x64/Makeconf, но единственное, что я нашел о zlib в нем, было:

## For use in packages
GRAPHAPP_LIB = -lRgraphapp
TCL_VERSION = 86
# was a reference to Rzlib.dll in R < 3.2.0
ZLIB_LIBS = -lz

Я не понимаю, что это значит (я не специалист по компьютерам). Я даже не уверен, что проблема в zlib, так как у меня не было предупреждения о zlib, когда я установил rgl.

Любая идея, чтобы легенда появилась? Спасибо

Версия R 3.4.1 (2017-06-30) - Платформа "Single Candle": x86_64-w64-mingw32/x64 (64-разрядная версия) install.packages("rgl")

0 ответов

Другие вопросы по тегам