首先要用windowsFonts对字体进行赋值:
- windowsFonts(FS = windowsFont("仿宋"))windowsFonts(HT = windowsFont("黑体"))
复制代码
此后就可以用参数 family="Song" 来改变字体了。例如我们简单画一个图,并将其横轴上的坐标改为宋体:
- plot(rnorm(30), xaxt="n") # 这一步当中要先把x轴上的数字去掉,再重新用axis()函数加上axis(side=1, family="FS") # 加上字体为宋体(Song)的x轴刻度数字
复制代码
注意font参数不是调整字体的,而是调整字的形式,包括常规、粗体、斜体、斜粗等。
- plot(rnorm(30), xaxt="n")axis(side=1, family="FS", font=2)
复制代码
另外R中的默认字族为serif,sans和mono,可以直接用,其代表的具体字体可以下面代码查看
- > windowsFonts()$serif[1] "TT Times New Roman"
- $sans[1] "TT Arial"
- $mono[1] "TT Courier New"
复制代码
如果想改变的是坐标轴标签的字体,可以在title()函数里加入family参数:
- plot(rnorm(30), ann=F, xaxt="n", yaxt="n") # 这里的ann参数去掉了坐标轴标签axis(side=1, family="serif", font=3)axis(side=2, family="mono", las=1) # 参数las使刻度数字保持横向显示title(xlab="这是横轴", family="FS", font.lab=2, cex.lab=1.5) # 利用参数将横轴坐标加大、加粗title(ylab="这是纵轴") # 均为默认值,作对比title(main="30个正态分布随机数的散点图", family="HT", font.main=4, cex.main=2)
复制代码
以下为上面命令生成的效果图(.png):
PS:注意以下两点
1、以上一些参数可以用在plot()函数体中,一些可以用par()函数对全局进行改变,随要求自己改。
2、以上办法在生成矢量图的时候会出问题,具体的参考pdf(),postscript()等函数的说明。