Scatter plot

Read in tutorial data and show a summary

This gallery uses the scenario data from the first-steps tutorial.

If you haven’t cloned the pyam GitHub repository to your machine, you can download the file from

Make sure to place the data file in the same folder as this script/notebook.

import matplotlib.pyplot as plt
import pyam

df = pyam.IamDataFrame("tutorial_data.csv")
<class 'pyam.core.IamDataFrame'>
 * model    : AIM/CGE 2.1, GENeSYS-MOD 1.0, ... WITCH-GLOBIOM 4.4 (8)
 * scenario : 1.0, CD-LINKS_INDCi, CD-LINKS_NPi, ... Faster Transition Scenario (8)
Timeseries data coordinates:
   region   : R5ASIA, R5LAM, R5MAF, R5OECD90+EU, R5REF, R5ROWO, World (7)
   variable : ... (6)
   unit     : EJ/yr, Mt CO2/yr, °C (3)
   year     : 2010, 2020, 2030, 2040, 2050, 2060, 2070, 2080, ... 2100 (10)
Meta indicators:
   exclude (bool) False (1)

Show relation of variables

In the first example, we show the relation between two variables, biomass and fossil energy use.

data = df.filter(region="World")

    x="Primary Energy|Biomass", y="Primary Energy|Fossil", color="scenario"
plot scatter

Show a scatter plot of meta indicators

In the second example, we show the relation between two meta indicators computed from the timeseries data.

Cumulative CO2 emissions

The first indicator computes the cumulative CO2 emissions from 2020 until the end of the century.

co2 = (
    df.filter(region="World", variable="Emissions|CO2")
    .convert_unit("Mt CO2/yr", "Gt CO2/yr")

    meta=co2.apply(pyam.cumulative, first_year=2020, last_year=2100, axis=1),

Temperature at the end of the century

The second indicator takes the value of the temperature variable in the latest year and assigns it as a meta indicator.

temperature_var = "AR5 climate diagnostics|Temperature|Global Mean|MAGICC6|MED"
df.set_meta_from_data(name="temperature", variable=temperature_var, year=2100)

Draw the scatter plot!

df.plot.scatter(x="cumulative_co2", y="temperature", color="scenario")
plot scatter
<AxesSubplot:xlabel='cumulative_co2', ylabel='temperature'>

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

Gallery generated by Sphinx-Gallery