Сохраняя разрешение графика, но сжимая размер в R - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть график, который я генерирую в 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 МБ, что очень много для меня, чтобы поместить в документ (не говоря уже о том, что его открытие может занять довольно много времени).Есть ли способ изменить мой код так, чтобы график выглядел одинаково, но размер файла был намного меньше?

Я понимаю, что проблема в том, что я рисую очень много точек, однако я не уверенкак создать красивую «гладкую» серую область без этого.Возможно, есть простая команда, о которой я не знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...