我正在尝试在ggplot
图中使用雌性♀和雄性♂符号。当我加载extrafont
程序包并运行所需的代码时,它不起作用(类似于此post)。
我在Mac OS X 10.11.6版上,使用R for Mac OS X 3.5.2版。
install.packages("extrafont")
library(extrafont)
extrafont::loadfonts(device="pdf")
extrafont::font_import(pattern="CALIBRI") #pattern that has the ♀ and ♂ symbols
#when I run this as font_import() alone fonts() is still empty
错误消息:
扫描/ Library / Fonts /,/ System / Library / Fonts,〜/ Library / Fonts /中的ttf文件... 从.ttf文件中提取.afm文件... data.frame中的错误(fontfile = ttfiles,FontName =“”,stringsAsFactors = FALSE): 参数暗示不同的行数:0,1
再次检查:
> fonts() #empty
NULL
> fonttable() #empty
data frame with 0 columns and 0 rows
有人知道为什么发生这种情况以及如何使它正常运行吗?
更新:
或者,我可以使用其他软件包来加载Calibri(请参阅OP here)。但是,我仍然无法在ggplot
上显示♀和♂符号。 建议?
install.packages('showtext', dependencies = TRUE)
library(showtext)
font_add_google("Montserrat", "Montserrat")
font_add_google("Roboto", "Roboto")
font_paths()
font_files()
# syntax: font_add(family = "<family_name>", regular = "/path/to/font/file")
font_add("Calibri", "calibri.ttf")
font_families()
showtext_auto()
答案 0 :(得分:0)
showtext
应该能够胜任。
library(ggplot2)
library(showtext)
showtext_auto()
female = intToUtf8(9792)
male = intToUtf8(9794)
p = ggplot() +
annotate("text", x = 1, y = 1, label = female, size = 20) +
annotate("text", x = 2, y = 1, label = male, size = 20) +
theme_bw(base_family = "sans")
## On screen
x11()
print(p)
## Save to PDF
ggsave("symbol.pdf", p, width = 9, height = 6)