English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Soporte de caracteres chinos en gráficos de R

directorios de bibliotecas de fuentes de diferentes sistemas:

  • Linux generalmente en /usr/share/fonts abajo, podemos usar fc-lista comando ver:

    # fc-lista
    /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 en C:\Windows\Fonts\ el archivo, puede abrirlo directamente para verlo.

  • Las fuentes de macOS están en /System/Library/Fonts y /Library/Fonts dentro de la carpeta.

La biblioteca de fuentes compatibles del sistema se puede ver mediante la instalación de showtext:

> install.packages("showtext", repos = "https://mirrors.ustc.edu.cn/CRAN/) # Instalar showtext
...
> font_files() # Ver las fuentes
            path file family face version
1 /Library/Fonts Arial Unicode.ttf Arial Unicode MS Regular Version 1.01x
         ps_name
1 ArialUnicodeMS

Al ver ArialUnicodeMS, podemos usarlo:

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

Cargar fuente personalizada

A veces, la biblioteca de fuentes del sistema no es muy compatible. La función showtext() puede cargar nuestra fuente personalizada, puede descargar el paquete de fuentes ttf y luego agregarla con la función font_add().

Aquí usamos Source Han Sans, Source Han Sans es una fuente de código abierto lanzada por Adobe y Google.

Sitio web: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, seleccione uno dentro de él:

Puede descargar una fuente OTF, como SourceHanSansSC-Bold.otf,coloque el archivo en el archivo de código ejecutado actual:

El gráfico de barras utiliza una biblioteca de fuentes:

# Cargar showtext
library(showtext);
# Primer parámetro configurar nombre de fuente, segundo parámetro es la ruta de la biblioteca de fuentes, en el mismo directorio, escribimos el nombre de la biblioteca de fuentes
font_add("SyHei", "SourceHanSansSC-Bold.otf"); 
# Establecer nombre de archivo, salida en png
png(file = "w3codebox-bar-cn.png")
cvd19 = c(83534,2640626,585493)
# Cargar fuente
showtext_begin();
barplot(cvd19,
    main="Gráfico de barras de pandemia de COVID-19",
    col=c("#ED1C24",#22B14C","#FFC90E,),
    names.arg=c("China", "Estados Unidos", "India"),
    family='SyHei' # Configurar biblioteca de fuentes
)
# Quitar la fuente
showtext_end();

3D Uso de gráficos de pastel con caracteres chinos:

library(plotrix)
library(showtext);
# Primer parámetro configurar nombre de fuente, segundo parámetro es la ruta de la biblioteca de fuentes, en el mismo directorio, escribimos el nombre de la biblioteca de fuentes
font_add("SyHei", "SourceHanSansSC-Bold.otf");
# Preparación de datos
info = c(1, 2, 4, 8)
# Nombre
names = c("Google", "w3codebox", "Taobao", "Weibo")
# Pintar (opcional)
cols = c("#ED1C24",#22B14C","#FFC90E","#3f48CC"
# Establecer nombre de archivo, salida en png
png(file = "3d_pie_chart.png")
# Cargar fuente
showtext_begin();
# Dibujar 3Dgráfica
pie3D(info,labels = names,explode = 0.1, main = "3Dgráfica",family = "SyHei")
# Quitar la fuente
showtext_end();
# Cerrar el dispositivo gráfico
dev.off();