linux - readPicture 函数(grImport 包)在 Linux 上不起作用 (F22)

标签 linux r grimport

我正在尝试使用 grImport 库读取 ps.xml 文件 ( http://cran.r-project.org/web/packages/grImport/vignettes/import.pdf ) 这是我的代码:

require("gridBase")
require("grImport")
require("plotrix")
petal <- readPicture("petal.ps.xml")

这是我收到的错误:

Error in if (x == 0) 1 else if (x == 1) 0 else x :                                                                                                        
missing value where TRUE/FALSE needed        

这是我的 session 信息

> sessionInfo()
R version 3.2.0 (2015-04-16)                                                                                                                              
Platform: x86_64-redhat-linux-gnu (64-bit)                                                                                                                
Running under: Fedora 22 (Twenty Two)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets      methods  
[8] base     

other attached packages:
[1] plotrix_3.5-12 grImport_0.9-0 XML_3.98-1.3   gridBase_0.4-7

相同的代码可在具有以下 session 信息的 Linux F20 上运行

> sessionInfo()
R version 3.2.0 (2015-04-16)                                                                                                                              
Platform: x86_64-redhat-linux-gnu (64-bit)                                                                                                                
Running under: Fedora 20 (Heisenbug)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets      methods  
[8] base     

other attached packages:
[1] plotrix_3.4-8 grImport_0.8-4 XML_3.96-1.1   gridBase_0.4-6

最佳答案

我遇到了同样的问题,最终通过在另一个平台上使用 PostScriptTrace 重新生成 xml 解决了这个问题。当比较两个平台上生成的文件时,我发现失败的图像文件缺少 path/context/style 元素中的属性。我能够手动添加缺少的属性 lineendlinemitrelinejoin 并加载图像。

我怀疑这些缺失的元素是 grImport 某些版本中问题的根源。

关于linux - readPicture 函数(grImport 包)在 Linux 上不起作用 (F22),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344699/

相关文章:

linux - Bash 在传递给另一个 bash shell 时丢弃命令行参数

regex - 提取 "?"之后的文本

r - 根据列的第一个值对所有行进行子集化

r - 将条件和从 FORTRAN 转换为 R

r - Windows R :grImport ghostscript error 'status 127'

python - Anaconda pip 与 native Ubuntu pip

c - 使用 SUSE Linux 和 C 的静态库链接问题

linux - shell脚本中的EOF问题

r - 在 grImport 的图片类中更改颜色