Notas de estudio de Python sesenta y tres días (etiquetas y títulos del eje Matplotlib)

Etiquetas y títulos de ejes de Matplotlib

Podemos usar los métodos xlabel() e ylabel() para establecer las etiquetas para los ejes x e y.

# 实例 1
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()

título

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

# 实例 2
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("RUNOOB TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

Pantalla gráfica china

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

Aquí usamos SiYuanHeTi, SiYuanHeTi 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, simplemente elige uno:

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

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

# 实例 3
import numpy as np 
from matplotlib import pyplot as plt 
import matplotlib
 
# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") 
 
x = np.arange(1,11) 
y =  2  * x +  5 
plt.title("测试", fontproperties=zhfont1) 
 
# fontproperties 设置中文显示,fontsize 设置字体大小
plt.xlabel("x 轴", fontproperties=zhfont1)
plt.ylabel("y 轴", fontproperties=zhfont1)
plt.plot(x,y) 
plt.show()

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

# 实例 4
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)
# 打印出你的 font_manager 的 ttflist 中所有注册的名字,找一个看中文字体例如:STFangsong(仿宋),然后添加以下代码即可:

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

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

# 实例 5
import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径,size 参数设置字体大小
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 可以使用 css 来设置字体样式
plt.title("测试", fontproperties=zhfont1, fontdict = font1)
 
# fontproperties 设置中文显示,fontsize 设置字体大小
plt.xlabel("x 轴", fontproperties=zhfont1)
plt.ylabel("y 轴", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()

Posicionamiento de títulos y etiquetas.

  • El método title() proporciona el parámetro loc para establecer la posición donde se muestra el título. Se puede configurar en: "izquierda", "derecha" y "centro". El valor predeterminado es "centro".
  • El método xlabel() proporciona el parámetro loc para establecer la posición de la visualización del eje x, que se puede configurar en: "izquierda", "derecha" y "centro". El valor predeterminado es "centro".
  • El método ylabel() proporciona el parámetro loc para establecer la posición de la visualización del eje y, que se puede configurar en: "inferior", "superior" y "centro". El valor predeterminado es "centro".
# 实例 6
import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径,size 参数设置字体大小
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 可以使用 css 来设置字体样式
plt.title("测试", fontproperties=zhfont1, fontdict = font1, loc="left")
 
# fontproperties 设置中文显示,fontsize 设置字体大小
plt.xlabel("x 轴", fontproperties=zhfont1, loc="left")
plt.ylabel("y 轴", fontproperties=zhfont1, loc="top")
plt.plot(x,y)
plt.show()

La diferencia entre ax.set_title() y plt.title(), y df,plot(title='')

plt.XX y similares son dibujos funcionales, que se dibujan pasando parámetros de datos a los métodos estáticos de la clase plt y llamando a los métodos. fig,ax=plt.subplots() es programación basada en objetos, donde plt.subplots() devuelve una tupla, incluidos objetos de figura (que controlan el tamaño gráfico general) y objetos de ejes (que controlan el dibujo, las coordenadas, etc.). Para realizar un dibujo basado en objetos, el primer paso es crear una instancia de la clase de figura y la clase de ejes a través de plt.subplots(), es decir, fig y ax en el código, luego ajustar el tamaño general de la imagen a través de fig y dibujar gráficos a través de ax. , establecer coordenadas y dibujar con estilo de función La mayor ventaja es que es intuitivo, pero si dibuja una imagen un poco compleja u opera a través de subgráficos, no es tan bueno como el dibujo basado en objetos.ax.set_title() es establecer el título para el subgrafo ax. Cuando hay varios subgrafos, puede establecer diferentes títulos a través de ax. Sería más problemático si simplemente llama a plt.title() para dar títulos a múltiples subgrafos.

hacha.set_title()

import  matplotlib .pyplot as plt
x=[1,2,3,4,5]
y=[3,6,7,9,2]
# 实例化两个子图(1,2)表示1行2列
fig,ax=plt.subplots(1,2)
ax[0].plot(x,y,label='trend')
ax[1].plot(x,y,color='cyan')
ax[0].set_title('title 1')
ax[1].set_title('title 2')

plt.título()

import  matplotlib .pyplot as plt
x=[1,2,3,4,5]
y=[3,6,7,9,2]
# fig,ax=plt.subplots(1,2)
plt.figure(1)
plt.subplot(121)# 12表示子图分布:一行2列;最后一个1表示第1个子图,从左往右
plt.plot(x,y,label='trend')
plt.title('title 1',fontsize=12,color='r') #r: red
plt.subplot(122)#第二个子图
plt.plot(x,y,c='cyan')
plt.title('title 2')

df, trama (título = '')

El df de pandas viene con una trama, que puede establecer el tamaño de la imagen, el nombre de la imagen, etc.

#按照neighbourhood和room_type分组,计算每个值的个数和price的均值
neigh_roomtype=listings.groupby(['neighbourhood','room_type']).agg({
    
    'id':'size','price':'mean'})
#将ID改为number
neigh_roomtype=neigh_roomtype.rename(columns={
    
    'id':'number'})

#先对number计算统计可视化等
number_n_r=neigh_roomtype.unstack()['number']
number_n_r.plot(figsize=(12,5),title='图1:不同房屋类型在不同地区的数量')

posdata

Lo que estamos aprendiendo hoy son las etiquetas y títulos de los ejes de Python Matplotlib, ¿lo has aprendido? Un resumen del contenido de aprendizaje de hoy:

  1. Etiquetas y títulos de ejes de Matplotlib
  2. título
  3. Pantalla gráfica china
  4. Posicionamiento de títulos y etiquetas.
  5. La diferencia entre ax.set_title() y plt.title(), y df,plot(title='')

Supongo que te gusta

Origin blog.csdn.net/qq_54129105/article/details/132394068
Recomendado
Clasificación