Скопируйте график с помощью grid.echo () с устройства не по умолчанию - PullRequest
1 голос
/ 21 марта 2019

Я хочу скопировать график в объект сетки с устройства SVG. grid.echo() docs говорит, что оно перекликается с текущим устройством, но нарисовано с использованием сетки.

Однако следующее не работает:

svg()
plot(1:10)
print(dev.cur())
grid.echo()
a = grid.grab()
dev.off()
print(dev.cur())
grid.draw(a)

Распечатка выше:

svg 
  2 
null device 
          1 
Warning message:
In grid.echo.recordedplot(recordPlot(), newpage, prefix, device) :
  No graphics to replay

Как вы можете видеть, текущее устройство является устройством svg непосредственно перед вызовом grid.echo(), но все равно ничего не находит. a, возвращаемый функцией grid.grab (), таким образом, пуст. Я пытался сделать то же самое с устройством pdf, но безуспешно.

Что я делаю не так?

1 Ответ

1 голос
/ 23 марта 2019

Это ваше ожидаемое поведение?

library(gridGraphics)
svg()
plotfun <- function() plot(1:10)
print(dev.cur())
grid.echo(plotfun)
a = grid.grab()
dev.off()
print(dev.cur())
grid.draw(a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...