我找到了一个非常好的包grImport
来读取.ps文件(矢量与栅格)。它运作良好,读者可以在这里找到包信息:
http://cran.r-project.org/web/packages/grImport/grImport.pdf
以及此处的演示:
https://www.stat.auckland.ac.nz/~paul/R/grImport/import.pdf
我希望能够更改类Picture
的对象中的插槽颜色,但无法弄清楚如何。所以使用这段代码:
library(grImport); library(grid)
## Create a generic .ps file to read in
postscript("foo.ps")
plot.new()
text(.5, 0.5, "A", cex = 45)
dev.off()
## read in the .ps object
PostScriptTrace("foo.ps")
foo <- readPicture("foo.ps.xml")
grid.picture(foo)
如何更改对象foo
以使A
绘图为浅灰色,比如#D0D0D0
?
我试过了:
class(foo)
foo
foo@rgb
我认为这是一个S4对象,这可能就是我挣扎的原因(我对s4缺乏了解)。
答案 0 :(得分:2)
使用str
探索S4对象的结构:
R> str(foo)
Formal class 'Picture' [package "grImport"] with 2 slots
..@ paths :List of 1
.. ..$ text:Formal class 'PictureText' [package "grImport"] with 14 slots
.. .. .. ..@ string : Named chr "A"
.. .. .. .. ..- attr(*, "names")= chr "string"
.. .. .. ..@ w : num 3602
.. .. .. ..@ h : num 5400
.. .. .. ..@ bbox : num [1:4] 904 2644 4840 6154
.. .. .. ..@ angle : num 90
.. .. .. ..@ letters :List of 1
...
可以通过以下方式更改颜色:
foo@paths$text@letters$path@rgb <- "#D0D0D0"