Cambiar tamaño de los ticks con matplotlib

publicado por: Anonymous

Quiero cambiar el tamaño de fuente de los ‘ticks’ de un gráfico. De momento estoy usando la siguiente instruccion para cambiarlo unicamente al grafico que voy a mostrar

plt.tick_params(labelsize = 20)

Pero al igual que con

plt.rcParams["figure.figsize"] = [20,10]

Puedo cambiar el tamaño de todos graficos que voy generando, existe algo similar para cambiar el tamaño de la fuente de los ticks de todos los graficos que genero?

solución

Puedes usar los parámetros rc 'xtick.labelsize' y 'ytick.labelsize':

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

# Siempre al inicio
params = {'xtick.labelsize': 20, 'ytick.labelsize': 20}
mpl.rcParams.update(params)


def f1(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

def f2(t):
    return np.exp(-t) * np.sin(2*np.pi*-t)

t = np.arange(0.0, 5.0, 0.1)

fig1, ax1 = plt.subplots()
fig2, ax2 = plt.subplots()

ax1.plot(t, f1(t), 'bo', t, f1(t), 'k')
ax2.plot(t, f2(t), 'ro', t, f2(t), 'k')

plt.show()

Otra opción muy útil si vas a modificar muchas propiedades y además pretendes reutilizarlo es definir tu propio estilo, simplemente crea un fichero de texto para definir los parámetros, por ejemplo creamos el fichero customstyle.mplstyle con el siguiente contenido:

figure.figsize: 20, 10
xtick.labelsize : 20
ytick.labelsize : 20

Para usarlo basta con pasar la ruta a plt.style.use:

import numpy as np
import matplotlib.pyplot as plt

plt.style.use('ruta/a/customstyle.mplstyle')


def f1(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

def f2(t):
    return np.exp(-t) * np.sin(2*np.pi*-t)

t = np.arange(0.0, 5.0, 0.1)

fig1, ax1 = plt.subplots()
fig2, ax2 = plt.subplots()

ax1.plot(t, f1(t), 'bo', t, f1(t), 'k')
ax2.plot(t, f2(t), 'ro', t, f2(t), 'k')

plt.show()

También puedes agregar el archivo a ~/.config/matplotlib/stylelib de forma que podemos reutilizar en el futuro el estilo con solo usar su nombre:

plt.style.use('customstyle')

El directorio puede variar, en GNU/Linux suele ser este el directorio, en todo caso podemos encontrarlo con:

>>> import matplotlib
>>> matplotlib.get_configdir()

y en el directorio que nos retorna crear el directorio stylelib y poner nuestros estilos en él.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *