Plot Ranges of DataΒΆ

# sphinx_gallery_thumbnail_number = 3
import matplotlib.pyplot as plt
import pyam

Read in some example data

fname = 'data.csv'

df = pyam.IamDataFrame(fname, encoding='ISO-8859-1')

df = (df
      .filter({'variable': 'Emissions|CO2'})
      .filter({'region': 'World'}, keep=False)
      )

print(df.head())

Out:

model scenario  region       variable       unit  year      value
9   MESSAGE-GLOBIOM  SSP2-26  R5ASIA  Emissions|CO2  Mt CO2/yr  2005  10488.011
15  MESSAGE-GLOBIOM  SSP2-26   R5LAM  Emissions|CO2  Mt CO2/yr  2005   5086.483
12  MESSAGE-GLOBIOM  SSP2-26   R5MAF  Emissions|CO2  Mt CO2/yr  2005   4474.073
3   MESSAGE-GLOBIOM  SSP2-26  R5OECD  Emissions|CO2  Mt CO2/yr  2005  14486.522
6   MESSAGE-GLOBIOM  SSP2-26   R5REF  Emissions|CO2  Mt CO2/yr  2005   2742.073

In this example, we want to show the range of a given dataset. We do this utilizing the fill_between argument.

fig, ax = plt.subplots(figsize=(8, 8))
df.line_plot(ax=ax, color='variable', fill_between=True)
plt.show()
../_images/sphx_glr_plot_ranges_001.png

fill_between can simply be true, or it can be provided specific arguments as a dictionary.

fig, ax = plt.subplots(figsize=(8, 8))
df.line_plot(ax=ax, color='variable', fill_between=dict(alpha=0.75))
plt.show()
../_images/sphx_glr_plot_ranges_002.png

To further make the range of data visible, we can also add a bar showing the range of data in the final time period using final_ranges. Similar to fill_between it can either be true or have specific arguments.

fig, ax = plt.subplots(figsize=(8, 8))
df.line_plot(ax=ax, color='variable', fill_between=True,
             final_ranges=dict(linewidth=5))
plt.show()
../_images/sphx_glr_plot_ranges_003.png

Total running time of the script: ( 0 minutes 0.470 seconds)

Gallery generated by Sphinx-Gallery