import pandas as pd
import plotly.express as px
import plotly.graph_objects as go23 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
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()