2017-01-09 96 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)