使用r中的pdf()制作小字体图

时间:2014-02-26 04:40:07

标签: r

我需要输出一个特定大小的pdf图,我正在使用pdf()函数:

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没有明显的效果。然而,增加pointsize确实会显着增加文本的大小。

这里发生了什么?在具有默认(或更大)分数的实际3x3英寸pdf上,大多数文本看起来可能是大约12+点字体。是否存在某种未公开的下限?我怎么能绕过这个呢?对于我的实际数字,我猜我需要8点字体之类的东西,这个字体很小但应该仍然是完全可读的。

谢谢!

编辑:虽然我可以通过改变各种元素的大小和位置来使一切变得合适,但我认为如果我可以缩小所有文本,那么图形看起来会看起来最干净。标题是最明显的问题,但我也想给图表分配更多的空间,而不是标签等等。如果唯一的解决方案是在创建我的情节时单独定义尺寸,我可以这样做,但我希望有一种更优雅的方式只是为了使所有文本更小。

2 个答案:

答案 0 :(得分: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.")

答案 1 :(得分:1)

另一种方法是,您是否尝试使用主题调整字体大小?

主题(plot.title = element_text(size = 6))