2017-01-09 58 views
1

我从同事那里继承了创建一个打印的功能png格式为PDF转换时,让我们把它叫做make_plot如何保持比例从R中

make_plot <- function(data) {plot(data)} 
data <- rnorm(12) 

假设有括号之间更多的东西,一些我甚至没有经历足够的改变,但我在这里保持简单。该功能最初开发的目的是以png格式生成图,保持标签,点和其他元素之间的正确比例。

png("plot.png",width=500,height=500) 
make_plot(data) 
dev.off() 

我在发表论文,其中包括这样的功能产生重复的过程,但该杂志的编辑希望我们的PDF格式提供地块。不幸的是,当切换到pdf时,即使宽度和高度之间的比例保持不变,某些元素的相对大小也会改变。

pdf("plot.pdf",width=5,height=5) 
make_plot(data) 
dev.off() 

如何强制R生成模拟png再现的比例的pdf地块?正如我之前提到的,从内部改变功能不是一种选择。您可以运行上面的代码来模拟问题。

回答

1

png设备的大小以像素为单位给出,英寸的pdf。使用(默认)分辨率为每英寸72点(ppi)(请参阅?png)的事实,如果使用以下参数,则可得到与pdf相同的比例:

pdf("plot.pdf",width=500/72,height=500/72)