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 https://github.com/IAMconsortium/pyam/tree/master/docs/tutorials.

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")
df
/home/docs/checkouts/readthedocs.org/user_builds/pyam-iamc/checkouts/latest/pyam/utils.py:318: FutureWarning:

The previous implementation of stack is deprecated and will be removed in a future version of pandas. See the What's New notes for pandas 2.1.0 for details. Specify future_stack=True to adopt the new implementation and silence this warning.


<class 'pyam.core.IamDataFrame'>
Index:
 * 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)

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")

data.plot.scatter(
    x="Primary Energy|Biomass", y="Primary Energy|Fossil", color="scenario"
)
plt.tight_layout()
plt.show()
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")
    .timeseries()
)

df.set_meta(
    meta=co2.apply(pyam.timeseries.cumulative, first_year=2020, last_year=2100, axis=1),
    name="cumulative_co2",
)

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
<Axes: xlabel='cumulative_co2', ylabel='temperature'>

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

Gallery generated by Sphinx-Gallery