import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
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
= "../data/owid-co2-data.csv"
f = pd.read_csv(f) co2
# 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
= ['China', 'United States', 'India', 'Russia', 'Mexico', 'World']
paises_interes = co2[co2['country'].isin(paises_interes)]
paises_co2
# Asegurarse de que los datos están ordenados por país y año
= paises_co2.sort_values(by=['country', 'year'])
paises_co2_sorted
# Crear una pivot table para organizar los datos adecuadamente para el gráfico
= paises_co2_sorted.pivot(index='year', columns='country', values='co2').fillna(0)
df_pivot
# 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
= go.Figure()
fig
# 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(=df_pivot.index, y=df_pivot[country],
x='lines', name=country,
mode='one'
stackgroup
))
# Añadir la traza de línea para 'World'
fig.add_trace(go.Scatter(=df_pivot.index, y=df_pivot['World'],
x='lines', name='World',
mode=dict(width=2, color='black')
line
))
# Actualizar el diseño para una mejor visualización
fig.update_layout(='Emisiones históricas de CO2',
title='',
xaxis_title='CO2 ( Mton)',
yaxis_title='plotly_white'
template
)
# Mostrar la gráfica
fig.show()