保持绘图的分辨率,但压缩R中的大小

时间:2018-11-22 05:50:18

标签: r plot

我有一个用R生成的绘图,该绘图必须为.pdf格式。我正在使用的当前代码如下:

x1 = seq(0,1,.001)
x2 = seq(0,1,.001)

f = function(x1,x2){
  ans = x1 + x2
  return(ans)
}

h = function(x1,x2){
  ans1 = 1.5-x1-2*x2-.5*sin(2*pi*(x1^2-2*x2))
  ans2 = x1^2+x2^2-1.5
  ans1 = sapply(ans1,function(x){max(x,0)})
  ans2 = sapply(ans2,function(x){max(x,0)})
  ans = ans1 + ans2
  return(ans)
}

z = outer(x1,x2,f)
w = outer(x1,x2,h)

image(x1,x2,z,xlab=expression(x[1]),ylab=expression(x[2]))
contour(x1,x2,z,add=TRUE)

X = cbind(expand.grid(x1,x2),c(w))
points(X[X[,3]!=0,1],X[X[,3]!=0,2],pch=19,col="lightgrey")

现在,该图看起来完全符合我的期望,但是,当我将图另存为.pdf时,文件大小约为60 MB,对于我来说,放置它的空间实在太大了。文档(更不用说要花很多时间才能打开)。有没有一种方法可以修改我的代码以使绘图看起来相同,但文件大小要小得多?

我知道问题是因为我绘制了很多点,但是,我不确定如何在不这样做的情况下生成漂亮的“平滑”灰色区域。也许有一个我不知道的简单命令要使用。

0 个答案:

没有答案