1

我正在使用 rgl 包在 R 中绘制 3D 散点图。一切正常,除了没有出现在 3D 图上的图例,我有这个警告:

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)

有人和我有同样的问题(在最新版本的 rgl 包中无法使用 legend3d 功能),所以我尝试按照建议安装 zlib。我下载了 zlib-1.2.11 并将文件夹放在 C:\Program Files\R\R-3.4.1\library 但它没有解决我的问题。我也通过 biocLite 安装了 zlibbioc,但也没有任何改进。根据答案的建议,我还查看了 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 是不是问题,因为我在安装 rgl 时没有收到关于 zlib 的警告。

有什么想法让传说出现吗?谢谢

R 版本 3.4.1 (2017-06-30) --“单蜡烛”平台:x86_64-w64-mingw32/x64 (64-bit) install.packages("rgl")

4

0 回答 0