R语言 您所在的位置:网站首页 字体语言图片 R语言

R语言

2024-07-10 02:19| 来源: 网络整理| 查看: 265

乱码原因:

    主要是因为Linux没有对应字体库导致。Linux本身自带字体库(具体有啥,暂不深究),但不包含windows上的,尤其像“微软雅 黑”这样的字体库(主因应该是版权问题);所以在Windows开发R程序,在设置字体后(如“宋体”、“黑体”、“微软雅黑”),在Linux上是无法 显示的。

 

解决办法:

    以CentOS为例,其他版本请自行对照相应路径

1. 在/usr/share/fonts下新建一个微软字体文件夹,如msfonts

2. 将windows系统盘下fonts中的MSYHBD.TTF 、MSYH.TTF 、simhei.ttf 、simsun.ttc 拷贝到linux上步骤1新建的文件夹/usr/share/fonts/msfonts下

3. 修改/etc/fonts/fonts.conf,在/usr/share/fonts后增加/usr/share/fonts/msfonts,如下

Xml代码   收藏代码        /usr/share/fonts       /usr/share/fonts/msfonts       /usr/share/X11/fonts/Type1 /usr/share/X11/fonts/OTF       ~/.fonts  

 

4. 执行fc-cache -f 使得新加的字体立即生效。

5. 修改R程序,在加载Cairo后,设置字体

R代码   收藏代码 # 加载Cairo库   library(Cairo)   # 设置字体   CairoFonts(regular = "宋体:style=Regular", bold="微软雅黑:style=Regular")   # 其他画图代码,balabala...  

 经测试,只设置第一个参数regular 不起作用,使用的是第二个参数bold的设置,原因不明;其中冒号“:”分隔符后边的style表示使用的样式,Regular正常 Bold粗体

 

关于字体大小是在CairoPNG函数中的pointsize参数设置

R代码   收藏代码 CairoPNG(filename = "Rplot.png", width = 480, height = 480, pointsize = 12, bg = "white", res = NA, ...)  


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有