Vergleich der Alkoholgehalte von Rot- und Weißwein

In diesem Notebook erstellen wir zwei Histogramme, um die Verteilung des Alkoholvolumens von Rot- und Weißwein grafisch zu vergleichen.

import pandas as pd
import matplotlib.pyplot as plt

Einlesen der vorbereiteten Weindaten

Die CSV-Dateien wurden bereits vorbereitet (Standardisierung, Spalten etc.) und befinden sich im Ordner data/processed.

white = pd.read_csv('../data/processed/winequality-white.csv', sep=';')
red = pd.read_csv('../data/processed/winequality-red.csv', sep=';')

Erstellung der Plotstruktur und Histogramme für Alkoholverteilungen

Wir verwenden zwei nebeneinanderliegende Subplots für den Vergleich:

  • fig ist das gesamte Figure-Objekt, d.h. der container für beide subplots.
  • ax ist ein Array mit den zwei subplot Objekten.

Erzeugen der Histogramme. Die beiden zeigen jeweils die Häufigkeitsverteilung des Alkoholgehalts für Rotwein (links) und Weißwein (rechts).

fig, ax = plt.subplots(1, 2)
ax[0].hist(red.alcohol, 10, facecolor='red', alpha=0.5, label='Rotwein')
ax[1].hist(white.alcohol, 10, facecolor='green', alpha=0.5, label='Weißwein')
(array([ 37., 808., 969., 761., 765., 625., 427., 368., 110.,  28.]),
 array([ 8.  ,  8.62,  9.24,  9.86, 10.48, 11.1 , 11.72, 12.34, 12.96,
        13.58, 14.2 ]),
 <BarContainer object of 10 artists>)

Feinjustierung des Layouts und gemeinsamer Titel

Wir positionieren die Subplots passend im Gesamtbild und beschriften die Achsen: - gesamtplatzierung im Gesamt-figure object - setzen der Ober/Untergrenzen für den ersten plot der Rotweine (für Vergleichbarkeit mit Weißweinen, die häufiger vorkommen) - Achsenbeschriftungen und erzeugen der Überschrift des Gesamtplots

fig.subplots_adjust(left=0.15, right=0.9, bottom=0.25, top=0.75,
                    hspace=0.05, wspace=0.5)
ax[0].set_ylim([0, 1000])
ax[0].set_xlabel('Alkoholvolumen in %')
ax[0].set_ylabel('Häufigkeiten')
ax[1].set_xlabel('Alkoholvolumen in %')
ax[1].set_ylabel('Häufigkeiten')
fig.suptitle('Verteilung nach Alkoholvolumen in %')

fig

Dateiausgabe / Speichern

Die Visualisierung erhält einen gemeinsamen Titel und wird als PNG-Datei gespeichert.

fig.savefig('../figs/alkoholverteilung.png')
Back to top