如何使用Illustrator调整R中生成的pdf图形的大小

时间:2012-09-05 09:31:11

标签: r pdf adobe-illustrator

我正在使用pdf()命令在R中创建绘图。图形看起来很完美,并且可以在Acrobat Reader中很好地调整大小。我通常的工作流程包括在Illustrator中操作标签等,保存为.eps以提交给发布者或插入Word。所有这些都适用于单个图形。

现在我尝试将4个图形组合成一个,方法是将它们放在A4 Illustrator文档中。但是,当我在Illustrator中调整标准7x7英寸pdf图表的大小以适合A4页面的一列(大约3.4英寸宽)时,所有比例都会被搞砸,例如,线条和符号轮廓变得太厚。在R中使用pdf(..., width=3.4, height=3.4)会使所有符号和字体大小变得混乱,以便生成原始图形。为什么我不能像在我调整pdf大小的方式一样调整Illustrator中的图形大小,例如在Acrobat Reader中?

1 个答案:

答案 0 :(得分:3)

Illustrator正在缩放所有,包括笔划粗细,用于绘制已转换为路径的线条和符号,以及任何未转换为路径的文本的字体大小。 (由于我没有Illustrator,我不能说Illustrator是否将“text”视为文本或打开pdf时的路径。)

当Adobe Acrobat Reader显示pdf时,它只显示当前文件的光栅化视图,因此可以根据需要很好地扩展所有内容。

我看到两个选择;直接在R中创建2x2绘图并使用正确的尺寸将其导出为PDF,或者减少每个绘图中使用的边距和字体大小,然后使用您显示的命令导出所需的宽度/高度。

第一个选项可以通过以下方式实现:

pdf("attempt1.pdf", ....)
layout(matrix(1:4, ncol = 2, byrow = FALSE)) ## byrow = TRUE for fill-by-row
## all 4 plot calls go in here
layout(1)
dev.off()

您可能需要调整pdf()设备中使用的磅值,并稍微调整一下情节的cex.???设置,以便根据您的需要进行调整。

或者,您需要减小分数和边距,并在3.4 x 3.4英寸设备上绘制每个图。这样的事情会让你开始:

pdf("attempt2.pdf", height = 3.4, width = 3.4, pointsize = 10)
op <- par(mar = c(4,3,3,1) + 0.1) ## one line less per marging
## your single plotting call here
par(op)
dev.off()

有关控制绘图边距和方法的方法列表,请参阅?par。您可能希望设置的其他参数来控制最终绘图的质量。您可能希望查看cex.foo参数来控制图上文本的相对大小,但这都与您在创建pdf()设备时设置的基本点大小有关。