R语言绘图如何支持中文

举报
米米素材网 发表于 2022/10/11 18:08:17 2022/10/11
【摘要】 这篇文章主要介绍了R语言绘图如何支持中文,帮助大家更好的理解和学习使用R语言,感兴趣的朋友可以了解下

这篇文章主要介绍了R语言绘图如何支持中文,帮助大家更好的理解和学习使用R语言,感兴趣的朋友可以了解下


不同系统的字体库目录:

  • Linux

一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看:

# fc-list
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book
  • Windows

字体在 C:\Windows\Fonts\ 文件下,直接打开就能看到了。

  • mac OS

字体在 /System/Library/Fonts 和 /Library/Fonts 目录下

系统支持的字体库,可以通过安装 showtext 来查看:

> install.packages("showtext", repos = "https://mirrors.ustc.edu.cn/CRAN/") # 安装 showtext
...
> font_files() # 查看字体
path  file  family face version
1 /Library/Fonts Arial Unicode.ttf Arial Unicode MS Regular Version 1.01x
ps_name
1 ArialUnicodeMS

看到有 ArialUnicodeMS,我们就可以用了:

pie3D(info,labels = names,explode = 0.1, main = "3D 图",family = "ArialUnicodeMS")

 

载入自定义字体

系统的字体库有时候不是支持的很好, showtext() 函数可以载入我们自定义的字体,可以下载字体包 ttf,然后使用 font_add() 函数添加。

这里我们使用思源黑体,思源黑体是 Adobe 与 Google 推出的一款开源字体。

下载地址:http://www.zzvips.com/fonts/626630.html

你也可以在网盘下载: https://pan.baidu.com/s/14cRhgYvvYotVIFkRVd71fQ 提取码: e15r。

打开链接后,在里面选一个就好了:

R语言绘图如何支持中文

可以下载个 OTF 字体,比如 SourceHanSansSC-Bold.otf,将该文件文件放在当前执行的代码文件中:

柱形图使用字体库:

# 载入 showtext
library(showtext);
# 第一个参数设置字体名称,第二个参数为字体库路径,同目录下,我们写字体库名就可以了
font_add("SyHei", "SourceHanSansSC-Bold.otf");


# 设置文件名,输出为 png
png(file = "runoob-bar-cn.png")

cvd19 = c(83534,2640626,585493)
#加载字体
showtext_begin();
barplot(cvd19,
main="新冠疫情条形图",
col=c("#ED1C24","#22B14C","#FFC90E"),
names.arg=c("中国","美国","印度"),
family='SyHei'   # 设置字体库
)
# 去掉字体
showtext_end();

R语言绘图如何支持中文

3D 饼图使用中文:

library(plotrix)
library(showtext);
# 第一个参数设置字体名称,第二个参数为字体库路径,同目录下,我们写字体库名就可以了
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# 数据准备
info = c(1, 2, 4, 8)

# 命名
names = c("Google", "Runoob", "Taobao", "Weibo")

# 涂色(可选)
cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC")

# 设置文件名,输出为 png
png(file = "3d_pie_chart.png")

#加载字体
showtext_begin();

# 绘制 3D 图
pie3D(info,labels = names,explode = 0.1, main = "我测试一下 SyHei 字体",family = "SyHei")

# 去掉字体
showtext_end();
# 关闭图形设备
dev.off();

R语言绘图如何支持中文

以上就是R语言绘图如何支持中文的详细内容,更多关于R语言绘图支持中文的资料请关注米米素材网其它相关文章!

原文链接:https://www.mimisucai.com/teach/r/29990.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。