나는 pdf로 저장하고 싶은 rgl
을 사용하여 3d 표면을 플로트했다. 플롯이 상당히 단순하더라도 파일 크기는 1Mb에 가깝습니다. lit=FALSE
설정rgl postscript의 파일 크기를 줄이는 방법은 무엇입니까?
require(rgl)
f <- function(x,y) {
d <- 3 * sqrt(x*x + y*y)
exp(-0.02 * d^2) * sin(d)
}
x <- y <- seq(-pi, pi, length=50)
Grid <- expand.grid(x=x, y=y)
z <- matrix(f(Grid$x, Grid$y), length(x), length(y))
rgl.open()
rgl.viewpoint(phi=-60, theta=0, fov=30, zoom=.8)
surface3d(x, y, z, color="black", front="lines", lit=FALSE)
rgl.bg(color="white")
Sys.sleep(1) #to give rgl some time to render
rgl.postscript("surface.pdf", fmt="pdf")
Sys.sleep(1)
print(file.info("surface.pdf")$size)
# 880K
이미 상당히 파일 크기를 줄일 수 있습니다.
어떻게이 그림의 크기를 줄일 수 있습니까?
감사합니다.
(I 플롯에 더 많은 요소를 추가 할 수 있기 때문에,lattice::wireframe
이 옵션을 선택하지 않습니다.) 일반적으로
''rgl' 장치 창을 확대하고 테두리를 제거하고 PNG로 저장 한 후 완성을 위해 printscreen (예, 키 입력)을 시도했습니다. 이미지 파일은 약 45kb 였고 훨씬 더 멋지게 보였습니다 ... –
맞았지 만, 인물을 벡터 그래픽으로 저장하는 편이 더 좋습니다. – sieste
@ Ferdinand.kraft, printscreen은'rgl.snapshot()'...보다 나은 출력을 제공합니까? –