Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

604
Views
¿Cómo configuro el título de la figura y el tamaño de fuente de las etiquetas de los ejes en Matplotlib?

Estoy creando una figura en Matplotlib como esta:

 from matplotlib import pyplot as plt fig = plt.figure() plt.plot(data) fig.suptitle('test title') plt.xlabel('xlabel') plt.ylabel('ylabel') fig.savefig('test.jpg')

Quiero especificar tamaños de fuente para el título de la figura y las etiquetas de los ejes. Necesito que los tres tengan diferentes tamaños de fuente, por lo que establecer un tamaño de fuente global ( mpl.rcParams['font.size']=x ) no es lo que quiero. ¿Cómo configuro los tamaños de fuente para el título de la figura y las etiquetas de los ejes individualmente?

over 4 years ago · Santiago Trujillo
10 answers
Answer question

0

Si está más acostumbrado a usar objetos ax para hacer su trazado, puede encontrar ax.xaxis.label.set_size() más fácil de recordar, o al menos más fácil de encontrar usando la pestaña en una terminal ipython. Parece que necesita una operación de redibujado después para ver el efecto. Por ejemplo:

 import matplotlib.pyplot as plt # set up a plot with dummy data fig, ax = plt.subplots() x = [0, 1, 2] y = [0, 3, 9] ax.plot(x,y) # title and labels, setting initial sizes fig.suptitle('test title', fontsize=12) ax.set_xlabel('xlabel', fontsize=10) ax.set_ylabel('ylabel', fontsize='medium') # relative to plt.rcParams['font.size'] # setting label sizes after creation ax.xaxis.label.set_size(20) plt.draw()

No conozco una forma similar de establecer el tamaño de los subtítulos después de crearlos.

over 4 years ago · Santiago Trujillo Report

0

También puede hacer esto globalmente a través de un diccionario rcParams:

 import matplotlib.pylab as pylab params = {'legend.fontsize': 'x-large', 'figure.figsize': (15, 5), 'axes.labelsize': 'x-large', 'axes.titlesize':'x-large', 'xtick.labelsize':'x-large', 'ytick.labelsize':'x-large'} pylab.rcParams.update(params)
over 4 years ago · Santiago Trujillo Report

0

Las funciones que tratan con texto como label , title , etc. aceptan los mismos parámetros que matplotlib.text.Text . Para el tamaño de fuente, puede usar size/fontsize de fuente:

 from matplotlib import pyplot as plt fig = plt.figure() plt.plot(data) fig.suptitle('test title', fontsize=20) plt.xlabel('xlabel', fontsize=18) plt.ylabel('ylabel', fontsize=16) fig.savefig('test.jpg')

Para configurar globalmente los tamaños de title y label , mpl.rcParams contiene axes.titlesize y axes.labelsize . (De la página):

 axes.titlesize : large # fontsize of the axes title axes.labelsize : medium # fontsize of the x any y labels

(Hasta donde puedo ver, no hay forma de establecer los tamaños de etiqueta x e y por separado).

Y veo que axes.titlesize no afecta al suptitle . Supongo que debes configurarlo manualmente.

over 4 years ago · Santiago Trujillo Report

0

7 (mejor solución)

 from numpy import* import matplotlib.pyplot as plt X = linspace(-pi, pi, 1000) class Crtaj: def nacrtaj(self,x,y): self.x=x self.y=y return plt.plot (x,y,"om") def oznaci(self): return plt.xlabel("x-os"), plt.ylabel("y-os"), plt.grid(b=True)

6 (solución ligeramente peor)

 from numpy import* M = array([[3,2,3],[1,2,6]]) class AriSred(object): def __init__(self,m): self.m=m def srednja(self): redovi = len(M) stupci = len (M[0]) lista=[] a=0 suma=0 while a<stupci: for i in range (0,redovi): suma=suma+ M[i,a] lista.append(suma) a=a+1 suma=0 b=array(lista) b=b/redovi return b OBJ = AriSred(M) sr = OBJ.srednja()
over 4 years ago · Santiago Trujillo Report

0

Una solución alternativa para cambiar el tamaño de fuente es cambiar el relleno. Cuando Python guarda su PNG, puede cambiar el diseño usando el cuadro de diálogo que se abre. El espacio entre los ejes, el relleno si lo desea, puede modificarse en esta etapa.

over 4 years ago · Santiago Trujillo Report

0

Coloque right_ax antes set_ylabel()

ax.right_ax.set_ylabel('AB scale')

over 4 years ago · Santiago Trujillo Report

0

Para modificar solo la fuente del título (y no la fuente del eje) usé esto:

 import matplotlib.pyplot as plt fig = plt.Figure() ax = fig.add_subplot(111) ax.set_title('My Title', fontdict={'fontsize': 8, 'fontweight': 'medium'})

El fontdict acepta todos los kwargs de matplotlib.text.Text .

over 4 years ago · Santiago Trujillo Report

0

Otros han proporcionado respuestas sobre cómo cambiar el tamaño del título, pero en cuanto al tamaño de la etiqueta de los ejes, también puede usar el método set_tick_params .

Por ejemplo, para hacer que el tamaño de la etiqueta del tick del eje x sea pequeño:

 ax.xaxis.set_tick_params(labelsize='small')

o, para hacer que la etiqueta de marca del eje y sea grande:

 ax.yaxis.set_tick_params(labelsize='large')

También puede ingresar el tamaño de la labelsize como un flotante, o cualquiera de las siguientes opciones de cadena: 'xx-pequeño', 'x-pequeño', 'pequeño', 'mediano', 'grande', 'x-grande' o ' xx-grande'.

over 4 years ago · Santiago Trujillo Report

0

bibliotecas

importar numpy como np

importar matplotlib.pyplot como plt

crear conjunto de datos

altura = [3, 12, 5, 18, 45]

barras = ('A', 'B', 'C', 'D', 'E')

x_pos = np.arange(len(barras))

Crea barras y elige el color.

plt.bar(x_pos, altura, color = (0.5,0.1,0.5,0.6))

Agregar títulos y nombres de ejes

plt.title('Mi título')

plt.xlabel('categorías')

plt.ylabel('valores')

Crear nombres en el eje x

plt.xticks(x_pos, barras)

Mostrar trama

plt.mostrar()

over 4 years ago · Santiago Trujillo Report

0

Si no está creando explícitamente objetos de figura y eje, puede establecer el tamaño de fuente del título cuando crea el título con el argumento fontdict .

Puede configurar los tamaños de fuente de las etiquetas x e y por separado cuando crea las etiquetas x e y con el argumento fontsize de fuente.

Por ejemplo:

 plt.title('Car Prices are Increasing', fontdict={'fontsize':20}) plt.xlabel('Year', fontsize=18) plt.ylabel('Price', fontsize=16)

¡También funciona con la trama de Seaborn y Pandas!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!