将不在extrafonts库中的字体添加到R
在安装了R的extrafonts库并检查了它必须提供的字体后,它得出了以下列表:将不在extrafonts库中的字体添加到R,r,ggplot2,fonts,R,Ggplot2,Fonts,在安装了R的extrafonts库并检查了它必须提供的字体后,它得出了以下列表: [1] ".Keyboard" "System Font" "Andale Mono" "Apple Braille" "AppleMyungjo" [6] "Arial Black" "Arial" "Arial Narrow"
[1] ".Keyboard" "System Font" "Andale Mono" "Apple Braille" "AppleMyungjo"
[6] "Arial Black" "Arial" "Arial Narrow" "Arial Rounded MT Bold" "Arial Unicode MS"
[11] "Batang" "Bodoni Ornaments" "Bodoni 72 Smallcaps" "Bookshelf Symbol 7" ""
[16] "Brush Script MT" "Calibri" "Calibri Light" "Cambria" "Cambria Math"
[21] "Candara" "Comic Sans MS" "Consolas" "Constantia" "Corbel"
[26] "Courier New" "DIN Alternate" "DIN Condensed" "Franklin Gothic Book" "Franklin Gothic Medium"
[31] "Gabriola" "Georgia" "Gill Sans MT" "Gulim" "Impact"
[36] "Khmer Sangam MN" "Lao Sangam MN" "Lucida Console" "Lucida Sans Unicode" "Luminari"
[41] "Marlett" "Meiryo" "Microsoft Yi Baiti" "Microsoft Himalaya" "Microsoft Sans Serif"
[46] "Microsoft Tai Le" "MingLiU_HKSCS-ExtB" "MingLiU_HKSCS" "MingLiU" "MingLiU-ExtB"
[51] "Mongolian Baiti" "MS Gothic" "MS Mincho" "MS PGothic" "MS PMincho"
[56] "MS Reference Sans Serif" "MS Reference Specialty" "Palatino Linotype" "Perpetua" "PMingLiU"
[61] "PMingLiU-ExtB" "SimHei" "SimSun" "SimSun-ExtB" "Tahoma"
[66] "Times New Roman" "Trattatello" "Trebuchet MS" "Tw Cen MT" "Verdana"
[71] "Webdings" "Wingdings" "Wingdings 2" "Wingdings 3"
但是我需要使用National 2和National()
有没有办法下载这些自定义字体供R在ggplot中使用,即使它们不包含在extrafonts中如果没有,是否有人知道这些字体是否与National 2 Condented和National 2特别相似?首先,您获得所需的字体并将其安装到您的系统上。与R无关。通过检查任何常规程序,如MS Word或其他程序,测试字体是否工作 然后打开R,加载
extrafont
包并导入您安装的字体。我认为它目前只适用于.ttf
字体
library(extrafont)
font_import(pattern="Roboto")
如果这样做有效,则此步骤将把这些字体添加到extrafontdb中。你会看到像这样的东西
> font_import(pattern="Roboto",prompt=FALSE)
Scanning ttf files in C:\windows\Fonts ...
Extracting .afm files from .ttf files...
C:\Windows\Fonts\Roboto-Black.ttf => C:/R/R-3.5.1/library/extrafontdb/metrics/Roboto-Black
C:\Windows\Fonts\Roboto-BlackItalic.ttf => C:/R/R-3.5.1/library/extrafontdb/metrics/Roboto-BlackItalic
...
C:\Windows\Fonts\RobotoCondensed-Regular.ttf => C:/R/R-3.5.1/library/extrafontdb/metrics/RobotoCondensed-Regular
Found FontName for 30 fonts.
Scanning afm files in C:/R/R-3.5.1/library/extrafontdb/metrics
Writing font table in C:/R/R-3.5.1/library/extrafontdb/fontmap/fonttable.csv
Writing Fontmap to C:/R/R-3.5.1/library/extrafontdb/fontmap/Fontmap...
这是一次性的事情。一旦导入,从那时起,它将在R中可用。你所要做的就是在下面跑
library(extrafont)
# for windows
windowsFonts(sans="Roboto")
loadfonts(device="win")
loadfonts(device="postscript")
现在默认值应该已经改变了
plot(x=1:5,y=1:5)
ggplot
具有需要更改的base\u族
,以及文本几何图形的family
参数
library(ggplot2)
p <- ggplot(data.frame(x=1:5,y=1:5),aes(x,y))+
geom_point()+
geom_text(aes(label=y),nudge_x=0.5,family="Roboto")+
theme_bw(base_family="Roboto")
p
PDF是一种痛苦。它们有一个额外的系列
参数。还有一些关于嵌入和东西。请参阅下面的链接
ggsave("plot.pdf",p,family="Roboto")
您需要的所有信息都是。使用软件包的解决方案:
以下是生成的绘图:
我使用了字体文件的测试版本,在您的情况下,只需将
常规
和粗体
参数更改为文件的实际路径。您是否已经在系统范围内安装了这些字体,以便它们可以自动用于其他程序(例如Microsoft Word)?我认为如果你从那里开始,通过操作系统的默认安装方法安装字体通常会更容易。只要下载字体,然后右键单击它们->安装(如果你在Windows上)。然后在RFYI中再次运行“font_import()”,对于其他类型的字体,可以使用包
ggsave("plot.pdf",p,family="Roboto")
library(showtext)
## Add the font with the corresponding font faces
font_add("national2",
regular = "National2CondensedTest-Regular.otf",
bold = "National2CondensedTest-Bold.otf")
## Automatically use showtext to render plots
showtext_auto()
library(ggplot2)
p = ggplot(NULL, aes(x = 1, y = 1)) + ylim(0.8, 1.2) +
annotate("text", 1, 1.1, label = "National 2 Condensed Bold",
family = "national2", fontface = "bold", size = 15) +
annotate("text", 1, 0.9, label = "National 2 Condensed Regular",
family = "national2", size = 12) +
theme(axis.title = element_blank(),
axis.ticks = element_blank(),
axis.text = element_blank())
ggsave("test.pdf", p, width = 8, height = 4)