Matplotlib etiquetas de ejes y títulos

Podemos usarxlabel()yylabel()métodos para establecer las etiquetas del eje x y del eje y.

Ejemplo

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

El resultado se muestra a continuación:

Título

Podemos usartitle()método para establecer el título.

Ejemplo

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.title("EJEMPLO TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

El resultado se muestra a continuación:

Visualización de chino en gráficos

Matplotlib no admite chino de forma predeterminada; podemos usar el siguiente método simple para resolverlo.

Aquí usamos Source Han Sans (思源黑体), 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/10-w1JbXZSnx3Tm6uGpPGOw, código de extracción:yxqu。

Puedes descargar una fuente OTF, por ejemplo SourceHanSansSC-Bold.otf, y colocar ese archivo en el archivo de código que se está ejecutando actualmente:

El archivo SourceHanSansSC-Bold.otf se coloca en el archivo de código actualmente en ejecución:

Ejemplo

import numpy as np from matplotlib import pyplot as plt import matplotlib # fname es la ruta de la biblioteca de fuentes que descargaste; presta atención a la ruta de la fuente SourceHanSansSC-Bold.otf zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") x = np.arange(1,11) y = 2 * x + 5 plt.title("Tutorial para novatos - Prueba", fontproperties=zhfont1) # fontproperties establece la visualización en chino, fontsize establece el tamaño de la fuente plt.xlabel("eje x", fontproperties=zhfont1) plt.ylabel("eje y", fontproperties=zhfont1) plt.plot(x,y) plt.show()

El resultado de la ejecución se muestra en la siguiente figura:

Además, también podemos usar las fuentes del sistema:

from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
    print(i)

Imprime todos los nombres registrados en la lista ttflist de tu font_manager, busca una fuente que admita chino, por ejemplo: STFangsong (仿宋), Heiti TC (黑体), y luego agrega el siguiente código:

plt.rcParams['font.family']=['STFangsong']

Además, también podemos personalizar el estilo de la fuente:

Ejemplo

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname es la ruta de la biblioteca de fuentes que descargaste; presta atención a la ruta de la fuente SourceHanSansSC-Bold.otf, el parámetro size establece el tamaño de la fuente
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict puede usar CSS para establecer el estilo de la fuente
plt.title("Tutorial para novatos - Prueba", fontproperties=zhfont1, fontdict = font1)
 
# fontproperties establece la visualización en chino, fontsize establece el tamaño de la fuente
plt.xlabel("eje x", fontproperties=zhfont1)
plt.ylabel("eje y", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()

El resultado de salida es el siguiente:

Posicionamiento de títulos y etiquetas

title()El método proporcionalocparámetro para establecer la posición de visualización del título; puede configurarse como:'left', 'right' y 'center'; el valor predeterminado es 'center'。

xlabel()El método proporcionalocparámetro para establecer la posición de visualización del eje x; puede configurarse como:'left', 'right' y 'center'; el valor predeterminado es 'center'。

ylabel()El método proporcionalocparámetro para establecer la posición de visualización del eje y; puede configurarse como:'bottom', 'top' y 'center'; el valor predeterminado es 'center'。

Ejemplo

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname es la ruta de la biblioteca de fuentes que descargaste; presta atención a la ruta de la fuente SourceHanSansSC-Bold.otf, el parámetro size establece el tamaño de la fuente
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict puede usar CSS para establecer el estilo de la fuente
plt.title("Tutorial para novatos - Prueba", fontproperties=zhfont1, fontdict = font1, loc="left")
 
# fontproperties establece la visualización en chino, fontsize establece el tamaño de la fuente
plt.xlabel("eje x", fontproperties=zhfont1, loc="left")
plt.ylabel("eje y", fontproperties=zhfont1, loc="top")
plt.plot(x,y)
plt.show()

El resultado de salida es el siguiente:

Otras extensiones