gpt4 book ai didi

R tikzdevice : How to use sans serif font

转载 作者:行者123 更新时间:2023-12-05 07:45:41 26 4
gpt4 key购买 nike

我在 R 中使用 ggplot 创建绘图,使用 tikzdevice 保存它们,然后使用 latex将它们编译成更大的文档。

当我创建一个非常简单的图时,例如

require(ggplot2)
require(tikzDevice)

tikz("test.tikz", height = 4, width = 4)
ggplot(data = data.frame(x = c(1:3), y = c(1:3)), aes(x=x, y=y)) +
geom_point() +
theme(text = element_text(family = "sans", face = "bold"))
dev.off()

虽然我可以使用 theme 中的 element_text 选项更改大小和字体,但更改字体系列不起作用。 IE。导出的 tikz 不包含 sans-serif 命令。

如何使用无衬线字体导出图形(尤其是轴标签)?

最佳答案

tikz() 将输出 latex 代码。字体将是此 latex 文档中指定的字体(这很棒,因为这会产生一致的外观)。

使用 sans-serif 字体创建一个独立的图形,然后可以通过 pdflatex test.tikz 渲染,可以这样实现:

require(ggplot2)
require(tikzDevice)
options(tikzLatexPackages =
c(getOption("tikzLatexPackages"),
"\\renewcommand{\\familydefault}{\\sfdefault}\n")
)

tikz("test.tikz", height = 4, width = 4, standAlone = TRUE)
ggplot(data = data.frame(x = c(1:3), y = c(1:3)), aes(x=x, y=y)) +
geom_point()
dev.off()

我们通过 options 传递写入序言的附加文本。我们需要向默认选项添加新选项而不是覆盖它们,这就是我们连接 getOption("tikzLatexPackages") 的原因。另请注意,您必须在 R 字符串中转义 \

第二个重要部分是设置 standAlone = TRUE 如果我们想单独渲染图形而不是让它成为更大文档的一部分。

如何在latex文档中设置字体我还是觉得有些玄乎。我的解决方案基于 this question .但是您可以通过 options 传递其他 latex 命令,以不同的方式设置字体。

关于R tikzdevice : How to use sans serif font,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442808/

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