Estou usando o R para gerar gráficos com muitas camadas transparentes. Eu quero a saída como um pdf, mas os arquivos explodem quando há tantas camadas transparentes. Eu posso abrir manualmente cada um no GIMP e achatá-lo lá, mas eu gostaria de fazer isso através de uma chamada system()
em R, para que o processo possa ser automatizado. Alguém sabe de uma maneira de fazer isso?
Aqui está um exemplo tolo reproduzível:
set.seed(2)
x = sort(runif(100))*10
y = rgamma(100,shape = x*rexp(100),scale=1/exp(rnorm(100)))
plot(x,y)
for (i in 1:200){
y = rgamma(100,shape = x*rexp(100),scale=1/exp(rnorm(100)))
fit = loess(y~x)
points(x,y,col=rgb(0,1,0,.3))
lines(x,predict(fit),col=rgb(1,0,0,.3))
}
Agora, quero poder fazer dev.copy2pdf(file="dumb_graph.pdf")
e, em seguida, fazer system(something)
para nivelar a imagem. Ou mais provável, um número de chamadas de sistema diferentes. Alguém sabe de algum utilitário que fará isso?
Editar: Estou procurando soluções específicas do Linux, mas acho que as soluções em outras plataformas seriam postagens úteis para outras pessoas que podem procurar por isso um dia.
Edit2: a saída deve ser vetor.
Edit3: isso é migrado do SO