import pandas as pd
import matplotlib.pyplot as plt
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.
Einlesen der vorbereiteten Weindaten
Die CSV-Dateien wurden bereits vorbereitet (Standardisierung, Spalten etc.) und befinden sich im Ordner data/processed
.
= pd.read_csv('../data/processed/winequality-white.csv', sep=';')
white = pd.read_csv('../data/processed/winequality-red.csv', sep=';') red
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).
= plt.subplots(1, 2)
fig, 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') ax[
(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
=0.15, right=0.9, bottom=0.25, top=0.75,
fig.subplots_adjust(left=0.05, wspace=0.5)
hspace0].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')
ax['Verteilung nach Alkoholvolumen in %')
fig.suptitle(
fig
Dateiausgabe / Speichern
Die Visualisierung erhält einen gemeinsamen Titel und wird als PNG-Datei gespeichert.
'../figs/alkoholverteilung.png') fig.savefig(