如何从 R 中的矢量图形制作自定义绘图符号
How to make custom plot symbols from vector graphics in R
有什么方法可以在 R 中创建自定义点吗?我熟悉 pch
参数,其中有很多选择,但是如果我需要绘制例如树剪影怎么办?
例如,如果我将一些点绘制为 eps。 (或类似)文件,我可以在 R 中使用它吗?。对于复杂的对象(f.e.trees)。
,光栅的解决方案并不好
您可以使用 grImport
包来做到这一点。我在 Inkscape 中画了一个螺旋并将其保存为 drawing.ps
。按照 grImport vignette 中概述的步骤,我们跟踪文件并将其作为一种多边形读取。
setwd('~/R/')
library(grImport)
library(lattice)
PostScriptTrace("drawing.ps") # creates .xml in the working directory
spiral <- readPicture("drawing.ps.xml")
小插图使用格子来绘制符号。您也可以使用基本图形,尽管需要从设备坐标到绘图坐标的转换。
# generate random data
x = runif(n = 10, min = 1, max = 10)
y = runif(n = 10, min = 1, max = 10)
# lattice (as in the vignette)
x11()
xyplot(y~x,
xlab = "x", ylab = "y",
panel = function(x, y) {
grid.symbols(spiral, x, y, units = "native", size = unit(10, "mm"))
})
# base graphics
x11()
plot(x, y, pty = 's', type = 'n', xlim = c(0, 10), ylim = c(0, 10))
xx = grconvertX(x = x, from = 'user', to = 'ndc')
yy = grconvertY(y = y, from = 'user', to = 'ndc')
grid.symbols(spiral, x = xx, y = yy, size = 0.05)
有什么方法可以在 R 中创建自定义点吗?我熟悉 pch
参数,其中有很多选择,但是如果我需要绘制例如树剪影怎么办?
例如,如果我将一些点绘制为 eps。 (或类似)文件,我可以在 R 中使用它吗?。对于复杂的对象(f.e.trees)。
您可以使用 grImport
包来做到这一点。我在 Inkscape 中画了一个螺旋并将其保存为 drawing.ps
。按照 grImport vignette 中概述的步骤,我们跟踪文件并将其作为一种多边形读取。
setwd('~/R/')
library(grImport)
library(lattice)
PostScriptTrace("drawing.ps") # creates .xml in the working directory
spiral <- readPicture("drawing.ps.xml")
小插图使用格子来绘制符号。您也可以使用基本图形,尽管需要从设备坐标到绘图坐标的转换。
# generate random data
x = runif(n = 10, min = 1, max = 10)
y = runif(n = 10, min = 1, max = 10)
# lattice (as in the vignette)
x11()
xyplot(y~x,
xlab = "x", ylab = "y",
panel = function(x, y) {
grid.symbols(spiral, x, y, units = "native", size = unit(10, "mm"))
})
# base graphics
x11()
plot(x, y, pty = 's', type = 'n', xlim = c(0, 10), ylim = c(0, 10))
xx = grconvertX(x = x, from = 'user', to = 'ndc')
yy = grconvertY(y = y, from = 'user', to = 'ndc')
grid.symbols(spiral, x = xx, y = yy, size = 0.05)