Gráfico de áreas en seaborn

Datos de ejemplo

Considera los siguientes datos a modo de ejemplo:

import pandas as pd

# Datos
df = pd.DataFrame({
    "mes": ["Ene", "Feb", "Mar", "Abr", "May", "Jun"],
    "ingresos": [12, 15, 13, 18, 21, 19]})

Gráfico de áreas en seaborn

A diferencia de matplotlib y plotly, seaborn no tiene su propia función de relleno de área: dibuja la línea con lineplot y sombrea el área debajo con fill_between de matplotlib sobre los mismos ejes.

import seaborn as sns
import matplotlib.pyplot as plt

ax = sns.lineplot(x = "mes", y = "ingresos", data = df)
ax.fill_between(df["mes"], df["ingresos"], alpha = 0.3)

# plt.show()

Gráfico de áreas en seaborn

Colores

Pasa el mismo color tanto a lineplot como a fill_between para mantener la línea y el relleno consistentes.

import seaborn as sns
import matplotlib.pyplot as plt

ax = sns.lineplot(x = "mes", y = "ingresos", data = df, color = "#C44E52")
ax.fill_between(df["mes"], df["ingresos"], color = "#C44E52", alpha = 0.3)

# plt.show()

Colores de un gráfico de áreas en seaborn

Varios grupos

Para varios grupos, dibuja la línea y el relleno de cada uno por separado, o deja que lineplot gestione la agrupación con hue y usa el bucle solo para los rellenos.

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Datos de ejemplo
df2 = pd.DataFrame({
    "mes": ["Ene", "Feb", "Mar", "Abr", "May", "Jun"] * 2,
    "ingresos": [12, 15, 13, 18, 21, 19, 8, 9, 11, 10, 14, 15],
    "region": ["Norte"] * 6 + ["Sur"] * 6})

ax = sns.lineplot(x = "mes", y = "ingresos", hue = "region", data = df2)
for region, group in df2.groupby("region"):
    ax.fill_between(group["mes"], group["ingresos"], alpha = 0.2)

# plt.show()

Gráfico de áreas con varios grupos en seaborn

Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon

También te puede interesar