我的目标是在R中生成绘图,以便在信纸上打印得很好。以下是我的例子:
library(cowplot)
sample_df <- data.frame(col_1=c(1,2,3), col_2=c(6,7,8))
plot_1 <-ggplot(data=sample_df, aes(x = col_1, y =col_2, group=1))+
geom_line()+ggtitle('Title 1')
plot_2 <-ggplot(data=sample_df, aes(x = col_1, y =col_2, group=1))+
geom_line()+ggtitle('Title 2')
width_letter = 6
height_letter = width_letter*8.5/11
pdf('outpdf_1.pdf', width=width_letter, height=height_letter)
plot_grid(plot_1, plot_2, labels = "AUTO", ncol = 2, align = 'v', scale = 0.65) +
theme(plot.margin = unit(c(2,2,2,2), "cm"))
dev.off()
答案 0 :(得分:4)
在library(cowplot)
之后运行以下代码:theme_set(theme_cowplot(font_size=8))
。 theme_cowplot()
的默认字体大小(加载cowplot
包时成为默认值的ggplot主题)为14.将此值更改为较低的值会减少绘图中的字体大小。创建每个绘图时,还可以使用theme
语句更改各种绘图元素(例如,轴标签,绘图标题等)的单个字体大小。
以下是使用较小字体大小的PDF文件:
作为另一种选择,当您打开PDF设备时,您可以使用您创建的高度和宽度值的倍数。例如:pdf('outpdf_1.pdf', width=width_letter*2, height=height_letter*2)
。这将导致文本相对于绘图区域较小,但绘图仍将在PDF文件的单个页面中呈现。我更喜欢第一种方法,但你也可以采用这种方法。
要回复您的评论:ggplot的默认主题为theme_grey
(运行?theme_grey
以查看此主题和其他可用主题的设置)。您可以看到每个主题都有一个base_size
,其默认设置。标签和标题的所有字体大小都相对于base_size
进行缩放。您可以通过在控制台中键入其名称来查看每个主题的所有各种设置。例如,运行theme_grey
。
当我第一次开始使用cowplot时,我注意到当你加载它时,它默认为一个新的主题,theme_cowplot
。输入?theme_cowplot
查看其帮助文件,输入theme_cowplot
查看所有设置。您会注意到,与默认的ggplot主题不同,theme_cowplot
会创建一个新参数font_size
,该参数在ggplot的默认主题中扮演与base_size
相同的角色。查看theme_cowplot
的输出,您可以看到它以theme_grey(base_size=font_size, ...)
开头。
更一般地说,您总是可以从主题,牛仔图,灰色,经典等开始,使用base_size
(或font_size
中的theme_cowplot
)修改整体字体缩放,然后使用theme
语句更改单个字体。您还可以将这些更改存储在新主题对象中,然后可以将其应用于任何绘图,这样您就不必为每个新绘图重复所有主题元素。还有一个ggthemes
包,其中包含其他预先打包的主题。