Weizenernte in Europa

Python Logo

Neben den Daten der Stadt Kiel, zu denen ich hier in unregelmäßigen Abständen Beispiele zur Visualisierung veröffentliche, gibt es im Internet selbstverständlich noch viel mehr Daten-Portale. In diesem Blog-Beitrag möchte ich den Datenbestand der FAO (Food and Agriculture Organisation of the United Nations) vorstellen. Ein Überblick dazu, bietet die Statistik-Seite der FAO.

Als Beispiel soll nachfolgend die Weizen-Produktion in Europa dienen. Den Datensatz kann man sich zum Download (als CSV-Datei) auf dieser Seite zusammenstellen lassen. Alternativ könnt Ihr die von mir verwendete CSV-Datei hier herunterladen.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

csv_data = 'FAOSTAT_wheat_to.csv'
df = pd.read_csv(csv_data)

# print(df.head())

fig, ax = plt.subplots()

# drop not available (na) data
df_cleaned = df.dropna(how='all')

# Unsigned integer (0 to 65535)
df_years = df_cleaned['Year'].astype(np.uint16)
# Unsigned integer (0 to 4294967295)
df_values = df_cleaned['Value'].astype(np.uint32)

x = df_years.values
y = df_values.values

plt.title("Wheat in Europa (in t)", size="x-large")
plt.ylabel("Quantity", size="x-large")
plt.xlabel("Year", size="x-large")

plt.plot(y, "r*-", markersize=6, linewidth=1, color='g', label="Wheat")

plt.legend(loc=(0.1, 0.8))

# plain or scientific notation
ax.ticklabel_format(style='plain',axis='y', useOffset=False)  # use style='sci' for scientific notation
ax.set_xticks(range(len(x)))
ax.set_xticklabels(x, rotation='vertical')

plt.show()

Wird der Code ausgeführt, führt dies zu folgender Grafik:

Der Code unterscheidet sich nicht wesentlich von meinen anderen — in diesem Blog vorgestellten — Beispielen. Eine Ausnahme bildet die Zeile

ax.ticklabel_format(style='plain',axis='y', useOffset=False)

Damit kann die Darstellung von Werten als wissenschaftliche Notation deaktiviert werden (mit: style='plain'). Dies kann manchmal notwendig werden, da matplotlib ab einem bestimmten Wertebereich automatisch diese Notation verwendet.

Weiterführende Links