2014-02-26 23 views
0

使用PDF()小字體,我需要輸出的曲線圖作爲具有一定規模的PDF格式,這是我現在用的PDF做的()函數的一個情節:製作與r中

library(ggplot2) 
pdf(file="test12.pdf",width=3,height=3) 
qplot(data=cars,x=speed,y=dist)+ggtitle("distance of cars as a function of speed") 
dev.off() 

導致標題的一部分被切斷:

enter image description here

我試圖從12至8的默認減少點大小:

pdf(file="test12.pdf",width=3,height=3,pointsize=8) 

......這使得速度可行的p更多一點。進一步減小到6,2,1或.1沒有明顯的影響。但是,增加分數似乎顯着增加了文字的大小。

這是怎麼回事?在具有默認(或更大)分數的實際3x3英寸pdf上,大多數文本看起來像可能是大約12+點字體。是否有某種未公開的下限?我怎樣才能繞過這個?對於我的實際數字,我猜我會需要像8點字體,這是在小方面,但仍應該是完全可讀的。

謝謝!

編輯:雖然我可以通過改變各種元素的大小和位置來使一切變得適合,但我認爲如果我可以縮小所有文本,圖形看起來會看起來最清潔。標題是最明顯的問題,但我也想給圖表分配更多空間,更少分配標籤等。如果唯一的解決方案是在創建我的情節時單獨定義尺寸,我可以做到這一點,但我希望有一種更優雅的方式來縮小所有文字。

回答

1

作爲另一種方法,你試過調整字體大小有一個主題?

主題(plot.title = element_text(大小= 6))

+0

使用主題(text = element_text(size = 6))有效地做我想要的。我仍然想明白爲什麼我不能在pdf()調用中做同樣的事情,但是我認爲只要我可以使它工作,我就不應該抱怨。謝謝! – Joe

1

一種可以替代改變主標題的字體大小是添加一個換行符休假,所以

plot(x,y,main="this is a really long title that won't fit on one line") 

成爲

plot(x,y,main="Title that goes on the top line\nTitle that goes on the next line.") 
+0

隨着@ user2583119的建議,這有助於我實現一個有效的解決方案。謝謝! – Joe