R語(yǔ)言繪圖如何支持中文
不同系統(tǒng)的字體庫(kù)目錄:
- 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 目錄下
系統(tǒng)支持的字體庫(kù),可以通過(guò)安裝 showtext 來(lái)查看:
> 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")
載入自定義字體
系統(tǒng)的字體庫(kù)有時(shí)候不是支持的很好, showtext() 函數(shù)可以載入我們自定義的字體,可以下載字體包 ttf,然后使用 font_add() 函數(shù)添加。
這里我們使用思源黑體,思源黑體是 Adobe 與 Google 推出的一款開源字體。
下載地址:http://m.fzitv.net/fonts/626630.html
你也可以在網(wǎng)盤下載: https://pan.baidu.com/s/14cRhgYvvYotVIFkRVd71fQ 提取碼: e15r。
打開鏈接后,在里面選一個(gè)就好了:

可以下載個(gè) OTF 字體,比如 SourceHanSansSC-Bold.otf,將該文件文件放在當(dāng)前執(zhí)行的代碼文件中:
柱形圖使用字體庫(kù):
# 載入 showtext
library(showtext);
# 第一個(gè)參數(shù)設(shè)置字體名稱,第二個(gè)參數(shù)為字體庫(kù)路徑,同目錄下,我們寫字體庫(kù)名就可以了
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# 設(shè)置文件名,輸出為 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("中國(guó)","美國(guó)","印度"),
family='SyHei' # 設(shè)置字體庫(kù)
)
# 去掉字體
showtext_end();

3D 餅圖使用中文:
library(plotrix)
library(showtext);
# 第一個(gè)參數(shù)設(shè)置字體名稱,第二個(gè)參數(shù)為字體庫(kù)路徑,同目錄下,我們寫字體庫(kù)名就可以了
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# 數(shù)據(jù)準(zhǔn)備
info = c(1, 2, 4, 8)
# 命名
names = c("Google", "Runoob", "Taobao", "Weibo")
# 涂色(可選)
cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 設(shè)置文件名,輸出為 png
png(file = "3d_pie_chart.png")
#加載字體
showtext_begin();
# 繪制 3D 圖
pie3D(info,labels = names,explode = 0.1, main = "我測(cè)試一下 SyHei 字體",family = "SyHei")
# 去掉字體
showtext_end();
# 關(guān)閉圖形設(shè)備
dev.off();

以上就是R語(yǔ)言繪圖如何支持中文的詳細(xì)內(nèi)容,更多關(guān)于R語(yǔ)言繪圖支持中文的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
R語(yǔ)言:數(shù)據(jù)篩選match的使用詳解
這篇文章主要介紹了R語(yǔ)言:數(shù)據(jù)篩選match的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
R語(yǔ)言學(xué)習(xí)VennDiagram包繪制韋恩圖示例
這篇文章主要為大家介紹了R語(yǔ)言學(xué)習(xí)VennDiagram包繪制韋恩圖示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
R語(yǔ)言中g(shù)gplot2繪制雙坐標(biāo)軸圖
本文主要介紹了R語(yǔ)言中g(shù)gplot2繪制雙坐標(biāo)軸圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
R語(yǔ)言基礎(chǔ)統(tǒng)計(jì)方法圖文實(shí)例講解
這篇文章主要介紹了R語(yǔ)言基礎(chǔ)統(tǒng)計(jì)方法圖文實(shí)例講解,文中圖文合并講解的很透徹,有感興趣的同學(xué)可以研究下2021-03-03
關(guān)于R語(yǔ)言包的升級(jí)與降級(jí)問(wèn)題
這篇文章主要介紹了R語(yǔ)言包的升級(jí)與降級(jí)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
R語(yǔ)言編程重讀微積分泰勒級(jí)數(shù)示例詳解
這篇文章主要為大家介紹了R語(yǔ)言編程重讀微積分泰勒級(jí)數(shù)的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10
R語(yǔ)言服務(wù)器安裝R包實(shí)現(xiàn)過(guò)程
這篇文章主要為大家介紹了R語(yǔ)言在服務(wù)器安裝R包的實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11

