R语言绘图|4.ggplot2作图-如何快速设置不同的字体!
转自个人微信公粽号【易学统计】的统计学习笔记:
最近用到ggplot作图,不同的杂志要求 不同的字体 ,比如新罗马、宋体、华文楷体、黑体等等,那这个字体该怎么设置呢?小易整理了下R代码,帮大家轻松搞定!本文的主要采用绘图函数ggplot来完成。
R代码实现
1 加载数据和R包
rm(list=ls())#清空当前工作环境
本案例数据来自R内部数据集mpg
library(ggplot2) ##作图
library(showtext) ##给定字体文件,加载到R环境中,生成新的字体家族名字
data(mpg) ##数据集
2 查看和导入字体
查看Windows系统下的字体
windowsFonts()
导入目标字体
##定义好导入的字体
Font <- c('STKaiti.TTF','simhei.TTF') ##华文楷体;黑体;
for (i in Font) {
font_path = i
font_name = tools::file_path_sans_ext(basename(font_path))
font_add(font_name, font_path)
font_families() ### 查看当前字体
showtext_auto(enable=TRUE) #自动调用showtext,否则无法在ggsave()中使用,因为ggsave会自动打开和关闭图形设备。
3 ggplot实例作图
代码和图形如下:
Fon <- 'sans' ##定义字体
ggplot()+
geom_point(data=mpg,
aes(displ,hwy),
size=1.5,
color="green")+
geom_smooth(data=mpg,
aes(displ,hwy),#xy轴的数据
linetype=1, ##线型
alpha=0.7, ##透明度
size=1, ##线粗细
colour='black', ##线颜色
span=0.8)+##平滑度
#theme_bw()+
theme(axis.title = element_text(
family = Fon,##坐标轴标签字体
face='bold', ##字体外形(粗斜体等)
size=40, ##字体大小
lineheight = 1),##标签行间距的倍数
axis.text = element_text(
family = Fon,##字体
face="bold", ##字体外形(粗斜体等)
color="blue",
size=30))+