双十一真累
在mac上用 R,大小坑趟了无数,比较难受的是绘制图时一直无法显示中文,今天解决了,说说解决思路和方法:
用到的链接:
1.下载字库
http://zitixiazai.taofont.com/stkaiti.html
2.经验贴
http://equation85.github.io/blog/graph-font-of-r-in-mac-os-x/
思路:
在网上搜啊搜的时候,发现有人说绘图之前要加一句
par(family='STKaiti')
即字体配置。我在Rstudio的配置中找这个字体,木有(其实是我不懂,不该在那找),
然后搜到了链接2,说字库要有STKaiti,于是在mac上打开fontbook:
image.png
和链接展示的完全不一样(我的只有微软雅黑),肯定是少东西啊,于是找STKaiti,发现链接1:
image.png
下载之后解压,双击安装,会有点卡顿,之后重启fontbook,就会看到用户字体中多了一个华文楷体。
这时会有个疑问:华文楷体也不是STKaiti啊,别急:
链接1提示:
image.png
链接2提示:
image.png
fontbook:
image.png
这三个图说明华文楷体是我们要用的STKaiti字体。
验证:
d <- data.frame(x=1:5,y=rnorm(5),label=c('一','二','三','四','五'))
plot(d[,1:2],main='示例',xlab='x轴 购买人数',ylab='y轴 购买金额',family='STKaiti')
text(d[,1]+0.1,d[,2]-0.1,d[,3],family='STKaiti')
第二句For normal plot functions you could use
quartz(family='STKaiti')
或者
par(family='STKaiti')
如果你ggplot装了,可以加一句:
ggplot(d,aes(x,y)) + geom_point() + geom_text(aes(x=x+0.1,y=y-0.1,label=label),family='STKaiti') + labs(x='x轴',y='y轴') + opts(title='中文',plot.title=theme_text(family='STKaiti'),axis.title.x=theme_text(family='STKaiti'),axis.title.y=theme_text(family='STKaiti'))
网友评论