Graphiques R - Prise en charge du chinois
Répertoires de bibliothèques de polices pour différents systèmes :
-
Linux se trouve généralement sous/usr/share/fonts, nous pouvons utiliser la commandefc-listpour les afficher :
# 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
-
Les polices Windows se trouvent dans le dossierC:\Windows\Fonts\, vous pouvez les voir en l'ouvrant directement.
-
Les polices macOS se trouvent dans les répertoires/System/Library/Fontset/Library/Fonts.
Les bibliothèques de polices prises en charge par le système peuvent être consultées en installant 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
Une fois que vous voyez ArialUnicodeMS, nous pouvons l'utiliser :
pie3D(info,labels = names,explode = 0.1, main = "3D 图",family = "ArialUnicodeMS")
Charger des polices personnalisées
La bibliothèque de polices du système n'est parfois pas bien prise en charge. La fonction showtext() peut charger nos polices personnalisées. Vous pouvez télécharger le paquet de polices ttf, puis utiliser la fonction font_add() pour l'ajouter.
Ici, nous utilisons Source Han Sans. Source Han Sans est une police open source lancée par Adobe et Google.
Site officiel :https://source.typekit.com/source-han-serif/cn/
Adresse GitHub :https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese
Après avoir ouvert le lien, choisissez-en simplement un à l'intérieur :

Vous pouvez également télécharger depuis le cloud :https://pan.baidu.com/s/14cRhgYvvYotVIFkRVd71fQ 。
Vous pouvez télécharger une police OTF, telle que SourceHanSansSC-Bold.otf, et placer ce fichier dans le fichier de code en cours d'exécution :
Diagramme en barres utilisant la bibliothèque de polices :
Exemple
library(showtext);
# Le premier paramètre définit le nom de la police, le second paramètre est le chemin de la bibliothèque de polices. Dans le même répertoire, nous écrivons simplement le nom de la bibliothèque de polices.
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# Définir le nom du fichier, sortie au format png
png(file = "example-bar-cn.png")
cvd19 = c(83534,2640626,585493)
# Charger la police
showtext_begin();
barplot(cvd19,
main="Graphique en barres de la pandémie de COVID-19",
col=c("#ED1C24","#226AB1","#FFC90E"),
names.arg=c("Chine","États-Unis","Inde"),
family='SyHei' # Définir la bibliothèque de polices
)
# Supprimer la police
showtext_end();

Utilisation du chinois dans un diagramme circulaire 3D :
Exemple
library(showtext);
# Le premier paramètre définit le nom de la police, le second paramètre est le chemin de la bibliothèque de polices. Dans le même répertoire, nous écrivons simplement le nom de la bibliothèque de polices.
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# Préparation des données
informations = c(1, 2, 4, 8)
# Nommage
names = c("Google", "Exemple", "Taobao", "Weibo")
# Coloration (facultatif)
cols = c("#ED1C24","#226AB1","#FFC90E","#3f48CC")
# Définir le nom du fichier, sortie au format png
png(file = "3d_pie_chart.png")
# Charger la police
showtext_begin();
# Tracer le graphique 3D
pie3D(info,labels = names,explode = 0.1, main = "Je teste la police SyHei",family = "SyHei")
# Supprimer la police
showtext_end();
# Fermer le périphérique graphique
dev.off();
