gpt4 book ai didi

r - 设置 ggplot 字体大小的格式以在纸上打印

转载 作者:行者123 更新时间:2023-12-04 11:17:04 25 4
gpt4 key购买 nike

我的目标是在 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()

它会生成丑陋的绘图,我似乎无法找到一种很好地格式化绘图的方法,即调整轴和字体的大小。有什么建议么? Image

最佳答案

library(cowplot)之后运行以下代码:theme_set(theme_cowplot(font_size=8))theme_cowplot() 的默认字体大小(加载 cowplot 包时成为默认的 ggplot 主题)是 14。将其更改为较低的值将减小字体绘图中的大小。创建每个绘图时,您还可以使用 theme 语句更改各种绘图元素(例如,轴标签、绘图标题等)的单独字体大小。

以下是较小字体的 PDF 文件的外观:

enter image description here

作为另一个选项,当您打开 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, ...) 开头。

更一般地,你总是可以从一些主题,cowplot,灰色,经典等开始,用 base_size (或 font_size in >theme_cowplot),然后使用 theme 语句更改单个字体。您还可以将这些更改存储在新的主题对象中,然后将其应用于任何绘图,这样您就不必在每个新绘图中重复所有主题元素。还有一个 ggthemes 包,其中包含额外的预打包主题。

关于r - 设置 ggplot 字体大小的格式以在纸上打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43662979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com