Проблема остается идентификатором гроба, который вы хотите растеризовать. Я не нашел хороший способ найти правильный автоматически. Это зависит от того, какие слои вы добавляете на график.

ользую R для анализа данных, ggplot для создания графиков, tikzDevice для их печати и, наконец, латекс для создания отчета. Проблема в том, что большие графики с большим количеством точек не работают из-за ограничения памяти латекса. Я нашел здесьhttps://github.com/yihui/tikzDevice/issues/103 решение, которое растеризует график перед печатью файла tikz, что позволяет печатать точки и текст по отдельности.

require(png)
require(ggplot2)
require(tikzDevice)

## generate data
n=1000000; x=rnorm(n); y=rnorm(n)

## first try primitive
tikz("test.tex",standAlone=TRUE)
plot(x,y)
dev.off()
## fails due to memory
system("pdflatex test.tex")


## rasterise points first
png("inner.png",width=8,height=6,units="in",res=300,bg="transparent")
par(mar=c(0,0,0,0))
plot.new(); plot.window(range(x), range(y))
usr <- par("usr")
points(x,y)
dev.off()
# create tikz file with rasterised points
im <- readPNG("inner.png",native=TRUE)
tikz("test.tex",7,6,standAlone=TRUE)
plot.new()
plot.window(usr[1:2],usr[3:4],xaxs="i",yaxs="i")
rasterImage(im, usr[1],usr[3],usr[2],usr[4])
axis(1); axis(2); box(); title(xlab="x",ylab="y")
dev.off()
## this works
system("pdflatex test.tex")


## now with ggplot
p <- ggplot(data.frame(x=x, y=y), aes(x=x, y=y)) + geom_point()
## what here?

В этом примере первыйpdflatex выходит из строя. Второе успешно из-за растеризации.

Как я могу применить это с помощью ggplot?

Ответы на вопрос(2)

Ваш ответ на вопрос