R Gráficos - Soporte de chino
Directorios de bibliotecas de fuentes en diferentes sistemas:
-
Linux generalmente en/usr/share/fontsdirectorio, podemos usarfc-listcomando para ver:
# 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
-
Las fuentes de Windows están enC:\Windows\Fonts\carpeta, ábrela y podrás verlas.
-
Las fuentes de macOS están en/System/Library/Fontsy/Library/Fontsdirectorio.
Las bibliotecas de fuentes admitidas por el sistema se pueden ver instalando 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
Si ves ArialUnicodeMS, ya podemos usarlo:
pie3D(info,labels = names,explode = 0.1, main = "3D 图",family = "ArialUnicodeMS")
Cargar fuentes personalizadas
Las bibliotecas de fuentes del sistema a veces no tienen un buen soporte, la función showtext() puede cargar nuestras fuentes personalizadas, podemos descargar el paquete de fuentes ttf y luego usar la función font_add() para agregarlo.
Aquí usamos Source Han Sans (Noto Sans CJK). Source Han Sans es una fuente de código abierto lanzada por Adobe y Google.
Sitio web oficial:https://source.typekit.com/source-han-serif/cn/
Dirección de GitHub:https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese
Después de abrir el enlace, elige uno dentro:

También puedes descargarlo desde el disco en la nube:https://pan.baidu.com/s/14cRhgYvvYotVIFkRVd71fQ 。
Puedes descargar una fuente OTF, por ejemplo SourceHanSansSC-Bold.otf, y colocar ese archivo en el directorio del código actual en ejecución:
Usar biblioteca de fuentes en gráfico de barras:
Ejemplo
library(showtext);
# El primer parámetro establece el nombre de la fuente, el segundo parámetro es la ruta de la biblioteca de fuentes; si está en el mismo directorio, solo escribimos el nombre de la biblioteca de fuentes.
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# Establecer el nombre del archivo, salida como png
png(file = "ejemplo-bar-cn.png")
cvd19 = c(83534,2640626,585493)
# Cargar fuente
showtext_begin();
barplot(cvd19,
main="Gráfico de barras de la pandemia de COVID-19",
col=c("#ED1C24","#226AB1","#FFC90E"),
names.arg=c("China","Estados Unidos","India"),
family='SyHei' # Configurar la biblioteca de fuentes
)
# Eliminar la fuente
showtext_end();

Gráfico de pastel 3D usando chino:
Ejemplo
library(showtext);
# El primer parámetro establece el nombre de la fuente, el segundo parámetro es la ruta de la biblioteca de fuentes; si está en el mismo directorio, solo escribimos el nombre de la biblioteca de fuentes.
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# Preparación de datos
info = c(1, 2, 4, 8)
# Nombres
names = c("Google", "Ejemplo", "Taobao", "Weibo")
# Colorear (opcional)
cols = c("#ED1C24","#226AB1","#FFC90E","#3f48CC")
# Establecer el nombre del archivo, salida como png
png(file = "3d_pie_chart.png")
# Cargar fuente
showtext_begin();
# Dibujar gráfico 3D
pie3D(info,labels = names,explode = 0.1, main = "Voy a probar la fuente SyHei",family = "SyHei")
# Eliminar la fuente
showtext_end();
# Cerrar el dispositivo gráfico
dev.off();
