Color de fondo en matplotlib

Color de fondo de un gráfico con set_facecolor

El color de fondo de un gráfico de matplotlib se puede personalizar con la función set_facecolor. El único parametro que hay que pasar es el color elegido para el fondo.

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
X, Y = np.mgrid[-4:4, -4:4]
ax.quiver(X, Y)

# Color de fondo
ax.set_facecolor('lavender')

# plt.show()

Color de fondo en matplotlib con set_facecolor

Color del borde

Si quieres personalizar el color del borde del gráfico tendrás que establecer un color para cada uno de los lados de la caja. Puedes elegir los colores uno por uno o utilizar un bucle for para colorear todos los bordes a la vez como en el ejemplo siguiente.

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
X, Y = np.mgrid[-4:4, -4:4]
ax.quiver(X, Y)

# Color de los bordes:
for axis in ['top', 'bottom', 'left', 'right']:
  ax.spines[axis].set_color('red')

# plt.show()

Color del borde en matplotlib

Color de fondo de la figura

El color de fondo de la figura también se puede personalizar. Para ello, tendrás que establecer el nuevo color de la figura (fig) con fig.set_facecolor, e.g. fig.set_facecolor("aliceblue") si quieres utilizar el color aliceblue, o simplemente pasar el color al argumento facecolor de la función subplots como se muestra a continuación.

Color de fondo de una figura en matplotlib con facecolor

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(facecolor = 'aliceblue')
X, Y = np.mgrid[-4:4, -4:4]
ax.quiver(X, Y)

# plt.show()

Cambiar los colores de fondo utilizando estilos predefinidos

Matplotlib proporciona varios estilos o temas predefinidos para personalizar los colores de fondo. Tendrás que pasar el nombre del tema que quieras a la función style.use, como en el ejemplo siguiente. Si quieres saber todos los nombres de los temas disponibles ejecuta print(plt.style.available) después de importar matplotlib.pyplot como plt.

import numpy as np
import matplotlib.pyplot as plt

# Agregar un estilo
plt.style.use('Solarize_Light2')

fig, ax = plt.subplots()
X, Y = np.mgrid[-4:4, -4:4]

# Gráfico
ax.quiver(X, Y)

# plt.show()

Utilizar estilos predefinidos o temas en matplotlib

Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar