ggplot设置base_family后face=bold不生效的解决方法咨询
解决ggplot中Calibri字体粗体不生效的问题
问题核心是指定base_family="Calibri"后,ggplot无法识别该字体的粗体版本,导致face="bold"设置失效。下面是几种可行的解决办法:
直接指定粗体字体名称
部分系统中Calibri的粗体版本完整名称是"Calibri Bold",可以在element_text里明确指定这个字体名,替代仅设置face="bold":ggplot(data = mpg, aes(x = class)) + geom_bar(stat = "count")+ theme( axis.title = element_text(family="Calibri Bold", size=10), axis.text= element_text(family="Calibri", size = 9, colour = "black") )用extrafont包统一管理字体
如果上面的方法不生效,试试用extrafont包导入系统字体,让ggplot能正确识别字体的不同样式:- 安装并加载包:
install.packages("extrafont") library(extrafont) - 导入Calibri字体(第一次运行耗时较长,耐心等待):
font_import(pattern="Calibri") loadfonts() - 之后再正常设置主题和粗体,就能生效了:
theme_set(theme_minimal(base_family="Calibri", base_size=8)) ggplot(data = mpg, aes(x = class)) + geom_bar(stat = "count")+ theme( axis.title = element_text(face="bold", size=10), axis.text= element_text(size = 9, colour = "black") )
- 安装并加载包:
检查系统字体完整性
如果你的系统里没有安装Calibri的粗体版本,先下载安装对应的字体文件,再尝试上面的方法。
内容的提问来源于stack exchange,提问作者m45ha
相关产品推荐
相关产品推荐

