23  Figura rápida en Plotly

Como han contribuido a lo largo del tiempo los 4 paises que más emiten en el 2022 respecto a las emisiones totales e incluir a México

import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
f = "../data/owid-co2-data.csv"
co2 = pd.read_csv(f)
# Asumiendo que 'co2' es el DataFrame original con los datos de emisiones
# Filtrar los datos para incluir solo los cinco "países" de interés
paises_interes = ['China', 'United States', 'India', 'Russia', 'Mexico', 'World']
paises_co2 = co2[co2['country'].isin(paises_interes)]

# Asegurarse de que los datos están ordenados por país y año
paises_co2_sorted = paises_co2.sort_values(by=['country', 'year'])

# Crear una pivot table para organizar los datos adecuadamente para el gráfico
df_pivot = paises_co2_sorted.pivot(index='year', columns='country', values='co2').fillna(0)

# Verificando la estructura de los datos organizados
df_pivot.head()
country China India Mexico Russia United States World
year
1750 0.0 0.0 0.0 0.0 0.0 9.306
1751 0.0 0.0 0.0 0.0 0.0 9.407
1752 0.0 0.0 0.0 0.0 0.0 9.505
1753 0.0 0.0 0.0 0.0 0.0 9.610
1754 0.0 0.0 0.0 0.0 0.0 9.734
# Graficar los datos utilizando Plotly
fig = go.Figure()

# Añadir las trazas de área para los países seleccionados, World debe estar al final
for country in paises_interes[:-1]:
    fig.add_trace(go.Scatter(
        x=df_pivot.index, y=df_pivot[country],
        mode='lines', name=country,
        stackgroup='one'
    ))

# Añadir la traza de línea para 'World'
fig.add_trace(go.Scatter(
    x=df_pivot.index, y=df_pivot['World'],
    mode='lines', name='World',
    line=dict(width=2, color='black')
))

# Actualizar el diseño para una mejor visualización
fig.update_layout(
    title='Emisiones históricas de CO2',
    xaxis_title='',
    yaxis_title='CO2 ( Mton)',
    template='plotly_white'
)

# Mostrar la gráfica
fig.show()