Matplotlib ofrece extensas opciones de personalización para crear gráficos visualmente atractivos. Una mejora común es ajustar el color de fondo del gráfico. Esta guía demuestra cómo modificar los colores de fondo, tanto para gráficos individuales como para múltiples gráficos, utilizando varios métodos.
Tabla de Contenido
- Establecer fondos de gráficos individuales
- Establecer fondos de gráficos predeterminados
- Aplicar a subgráficos
- Modificar el fondo de la figura
- Restablecer colores
- Conclusión
Establecer fondos de gráficos individuales
Para un control preciso sobre el fondo de un solo gráfico, utilice el método set_facecolor()
del objeto Axes
. Este método acepta varias especificaciones de color.
import matplotlib.pyplot as plt
# Datos de muestra
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
# Crear el gráfico
fig, ax = plt.subplots()
ax.plot(x, y)
# Establecer el color de fondo usando diferentes métodos
ax.set_facecolor('lightblue') # Color con nombre
ax.set_facecolor('#FFD700') # Código de color hexadecimal
ax.set_facecolor((1, 0.5, 0)) # Tupla RGB
# Agregar título y etiquetas
ax.set_title('Gráfico con fondo personalizado')
ax.set_xlabel('Eje X')
ax.set_ylabel('Eje Y')
plt.show()
Establecer fondos de gráficos predeterminados
Para aplicar un color de fondo consistente a todos los gráficos subsiguientes dentro de un script, modifique la configuración de estilo de Matplotlib usando rcParams
. Este enfoque simplifica el proceso al generar numerosos gráficos con un estilo unificado.
import matplotlib.pyplot as plt
# Establecer el color de fondo predeterminado
plt.rcParams['axes.facecolor'] = 'lightgray'
# Crear múltiples gráficos
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
plt.plot([1, 2, 3, 4], [5, 6, 7, 8])
plt.show()
Aplicar a subgráficos
Cuando se trabaja con subgráficos, acceda individualmente al objeto Axes
de cada subgráfico usando fig.axes
y aplique set_facecolor()
a cada uno.
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2)
axes[0, 0].set_facecolor('lightblue')
axes[0, 1].set_facecolor('lightgreen')
axes[1, 0].set_facecolor('lightyellow')
axes[1, 1].set_facecolor('pink')
plt.show()
Modificar el fondo de la figura
Para cambiar el fondo de toda la figura, no solo el área del gráfico, use fig.patch.set_facecolor()
.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
fig.patch.set_facecolor('whitesmoke') #Cambiar fondo de la figura
ax.plot([1,2,3],[4,5,6])
plt.show()
Restablecer colores
Para volver a los colores predeterminados de Matplotlib, reinicie su kernel de Python o restablezca el diccionario rcParams
:
import matplotlib.pyplot as plt
plt.rcParams.update(plt.rcParamsDefault)
Conclusión
Dominar la personalización del color de fondo en Matplotlib mejora la claridad y el atractivo visual de los gráficos. Esta guía proporciona técnicas versátiles para controlar los colores de fondo, atendiendo a las necesidades de gráficos individuales y manteniendo estilos consistentes en múltiples gráficos.