以前,我用windowsFonts(Times=windowsFont("TT Times New Roman"))
改变了我的ggplot2
字体。现在,我不能把它从这个上面取下来。
在尝试在ggplot2
theme()
中设置family=""
时,我似乎无法生成字体更改,因为我使用不同的字体家族编译了下面的MWE。
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16,
# family="Comic Sans MS"))
# family="CM Roman"))
# family="TT Times New Roman"))
# family="Sans"))
family="Serif"))
print(a)
print("Graph should have refreshed")
R返回了一个警告font family not found in Windows font database
,但是我之前看过一个教程(如果我能再次找到它,我会更新这里的链接),上面说这是正常的,不是问题。另外,不知何故,这在某个时候起作用了,因为我的图曾经使用过一些arial或helvitica类型的字体。我认为这一直是一个警告,即使在最初的迁移中也是如此。
更新
当我运行windowsFonts()
时,我的输出是
$serif [1]“TT Times New Roman”
$sans [1]“TT Arial”
$mono [1]“TT快递新”
但是,这是在我运行font_import()
之后,所以我只能得出结论,我的字体没有保存在正确的位置。运行font_import()
请求的代码实际上加载了库:
LocalLibraryLocation <- paste0("C:\\Users\\",Sys.getenv("USERNAME"),"\\Documents","\\R\\win-library\\3.2");
.libPaths(c(LocalLibraryLocation, .libPaths()))
7条答案
按热度按时间dwbf0jvd1#
我想你刚刚错过了一个初始化步骤。
你可以用
windowsFonts()
命令来查看你有哪些可用的字体。例如,当我开始看这个时,我的字体看起来像这样:在安装了extraFont包并像这样运行
font_import
之后(花了大约5分钟):我有很多可用的-有争议的太多了,当然太多了,无法在这里列出。
我试了你的代码:
得到:
更新:
您可以使用以下代码片段找到
element_text
的family
参数所需的字体名称:然后:
产量:
zvokhttg2#
另一种选择是使用
showtext
包,它支持更多类型的字体(TrueType,OpenType,Type 1,Web字体等)和更多的图形设备,并避免使用外部软件,如Ghostscript。导入一些Google字体
从当前搜索路径加载字体到
showtext
绘图:需要打开Windows图形设备,因为
showtext
无法与RStudio内置图形设备配合使用编辑:在RStudio中使用
showtext
的另一种解决方法。在R会话开始时运行以下代码(源代码)编辑2:从0.9版本开始,showtext可以很好地与RStudio图形设备(RStudioGD)配合使用,只需在RStudio会话中调用
showtext_auto()
即可正确显示图。zzoitvuj3#
如果你不想安装任何新的东西,一个简单的答案
更改绘图中的所有字体
plot + theme(text=element_text(family="mono"))
其中mono
是您选择的字体。默认字体选项列表:
R没有很好的字体覆盖率,正如Mike Wise所指出的,R对常见字体使用不同的名称。
This page详细介绍了默认字体。
wfypjpf44#
这可能会对那些希望在shinyapps.io上的
shiny
应用程序中添加自定义字体的人感兴趣。您可以:
1.将自定义字体放入
www
目录:例如IndieFlower.ttf
来自here1.从这里开始按步骤走
这将导致
app.R
文件中的以下上部:完整的示例应用程序可以在这里找到。
ujv3wf0j5#
全局更改ggplot2图的字体。
iyfamqjs6#
我修复了我的问题,geom_text没有在R markdown中应用family=“Roboto”命令,确保Yaml头有主题:null。它之前被设置为“page”,并且只覆盖了geom_text行,很奇怪...
ipakzgxi7#
在Windows中,改变字体非常容易,你不需要任何额外的软件包;只需要几行代码
假设您要将默认的sans serif字体从Arial更改为Calibri。以下代码将完成此操作,并且该字体应出现在您创建的任何ggplot中:
使用ggsave保存ggplot时,字体应显示在保存的文件中。
除了使用“sans”,你还可以将自己的字体添加到这个列表中,尽管你必须编辑ggplot主题的文本元素来包含新字体。
如果您使用svglite创建SVG文件,则还需要指定所选字体。例如: