Colores en pandas

pandas utiliza los colores por defecto de matplotlib. Cámbialos con el argumento color, que admite cualquier color de matplotlib, o con colormap.

Colores con color

Pasa un solo color para una serie o una lista de colores, uno para cada columna, en el mismo orden.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"Renovable": [30, 34, 38, 42, 46],
                   "Fósil": [62, 58, 54, 50, 45]},
                  index = [2021, 2022, 2023, 2024, 2025])

df.plot.bar(color = ["#2A9D8F", "#6D6875"], rot = 0)
# plt.show()

Cambiar los colores de un gráfico de pandas con una lista

Colores con un diccionario

Un diccionario asigna un color a cada columna, por lo que el resultado no depende del orden de las columnas.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"Renovable": [30, 34, 38, 42, 46],
                   "Fósil": [62, 58, 54, 50, 45]},
                  index = [2021, 2022, 2023, 2024, 2025])

df.plot(color = {"Renovable": "green", "Fósil": "black"}, linewidth = 3)
# plt.show()

Asignar un color a cada columna con un diccionario en pandas

Colormaps

colormap toma los colores de un colormap de matplotlib, lo que es muy cómodo cuando hay muchas columnas.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

budget = pd.DataFrame(np.random.default_rng(4).uniform(1, 10, (4, 6)),
                      columns = ["Alquiler", "Comida", "Transporte", "Ocio", "Salud", "Otros"],
                      index = ["Q1", "Q2", "Q3", "Q4"])

budget.plot.bar(stacked = True, colormap = "viridis", rot = 0)
# plt.show()

Usar un colormap en un gráfico de pandas

Un color diferente para cada barra

En un gráfico de barras de una sola Series la lista de colores se aplica barra a barra. Esto permite destacar algunas barras.

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([48, 68, 59, 84, 38], index = ["España", "Francia", "Italia", "Alemania", "Polonia"])
colors = ["tab:red" if v == s.max() else "lightgray" for v in s]

s.plot.bar(color = colors, rot = 0)
# plt.show()

Destacar una barra con un color diferente en pandas

Transparencia

El argumento alpha, entre 0 y 1, establece la transparencia de todos los elementos.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"Renovable": [30, 34, 38, 42, 46],
                   "Fósil": [62, 58, 54, 50, 45]},
                  index = [2021, 2022, 2023, 2024, 2025])

df.plot.area(stacked = False, alpha = 0.3)
# plt.show()

Establecer la transparencia de un gráfico de pandas

Consulta la lista completa de colores con nombre y colormaps disponibles en matplotlib.

Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar