我有一个用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,对于我来说,放置它的空间实在太大了。文档(更不用说要花很多时间才能打开)。有没有一种方法可以修改我的代码以使绘图看起来相同,但文件大小要小得多?
我知道问题是因为我绘制了很多点,但是,我不确定如何在不这样做的情况下生成漂亮的“平滑”灰色区域。也许有一个我不知道的简单命令要使用。