Kursinhalt
Ultimative Visualisierung mit Python
Ultimative Visualisierung mit Python
Kreisdiagramm
Kreisdiagramm ist ein Diagramm, das einen Kreis verwendet, der in Segmente (Abschnitte) unterteilt ist, um das numerische Verhältnis (prozentuale Verteilung) von nominalen Daten darzustellen. Hier ist ein Beispiel für ein Kreisdiagramm:
Dieses Diagramm stellt die prozentuale Verteilung der Bevölkerung nach Region dar. Sieht ziemlich schick aus, oder?
Hinweis
Obwohl sie schick aussehen, sollten Kreisdiagramme größtenteils vermieden werden, da sie die Sicht auf die Daten verzerren. Eine Kategorie mit vielen Instanzen wird noch größer erscheinen, eine Kategorie mit wenigen Instanzen wird noch kleiner erscheinen.
Nun werden wir besprechen, wie man ein solches Diagramm in matplotlib
erstellt.
Kreisdiagramm mit Beschriftungen
Die Funktion, die wir verwenden werden, ist pie()
aus dem pyplot
-Modul, und ihr erster und einziger erforderlicher Parameter sind unsere Daten (genannt x
).
Ein weiterer wichtiger Parameter ist labels
, der die Beschriftungen der Segmente angibt (es sollte eine Sequenz von Zeichenfolgen sein).
Schauen wir uns zunächst die Daten für unser Beispiel an:
import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv' population_df = pd.read_csv(url) print(population_df)
Dieses DataFrame
enthält die Bevölkerung jeder Region. Nun zu unserem Beispiel:
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Creating a pie chart and setting the labels for each region plt.pie(population_df['Population'], labels=population_df['Region']) plt.show()
Wir haben die pie()
-Funktion aufgerufen und die Series
mit den Bevölkerungsdaten als x
-Parameter und die Series
mit den Regionsnamen als Beschriftungen für die Segmente übergeben.
Hinzufügen von Prozenten
Das Diagramm sieht in Ordnung aus, aber es fehlt noch etwas. Wir kennen den genauen Prozentsatz jeder einzelnen Region nicht. Glücklicherweise gibt es einen autopct
-Parameter, der das Format der Beschriftung der Keile angibt (die Beschriftungen werden innen platziert).
Sie können entweder einen Format-String oder eine Funktion übergeben, wir konzentrieren uns hier jedoch auf den Format-String. Lassen Sie uns nun unser Beispiel ändern:
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Setting the label for each region and its percentage plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%') plt.show()
Formatzeichenkette
Hier haben wir die folgende Zeichenkette übergeben: %1.1f%%
.
f
gibt an, dass der Wert als Gleitkommazahl behandelt werden soll (d
gibt eine ganze Zahl an), und .1
, dass genau eine Stelle nach dem Dezimalpunkt stehen soll.
Die Prozentzeichen geben an, dass es sich um eine Formatzeichenkette handelt und dass die Zahl vom Prozentzeichen (%
) gefolgt werden soll.
Wenn Sie mehr Parameter der .pie()
-Methode erkunden möchten, hier ist die Dokumentation für Sie.
Swipe to start coding
- Verwenden Sie die richtige Funktion, um ein Kreisdiagramm zu erstellen.
- Verwenden Sie
incomes
als Daten für das Kreisdiagramm (das erste Argument). - Setzen Sie die Beschriftungen über das zweite Argument auf
names
. - Setzen Sie das Format des Prozentsatzes auf eine Gleitkommazahl mit einer Stelle nach dem Dezimalpunkt über das dritte Argument.
Lösung
Danke für Ihr Feedback!
Kreisdiagramm
Kreisdiagramm ist ein Diagramm, das einen Kreis verwendet, der in Segmente (Abschnitte) unterteilt ist, um das numerische Verhältnis (prozentuale Verteilung) von nominalen Daten darzustellen. Hier ist ein Beispiel für ein Kreisdiagramm:
Dieses Diagramm stellt die prozentuale Verteilung der Bevölkerung nach Region dar. Sieht ziemlich schick aus, oder?
Hinweis
Obwohl sie schick aussehen, sollten Kreisdiagramme größtenteils vermieden werden, da sie die Sicht auf die Daten verzerren. Eine Kategorie mit vielen Instanzen wird noch größer erscheinen, eine Kategorie mit wenigen Instanzen wird noch kleiner erscheinen.
Nun werden wir besprechen, wie man ein solches Diagramm in matplotlib
erstellt.
Kreisdiagramm mit Beschriftungen
Die Funktion, die wir verwenden werden, ist pie()
aus dem pyplot
-Modul, und ihr erster und einziger erforderlicher Parameter sind unsere Daten (genannt x
).
Ein weiterer wichtiger Parameter ist labels
, der die Beschriftungen der Segmente angibt (es sollte eine Sequenz von Zeichenfolgen sein).
Schauen wir uns zunächst die Daten für unser Beispiel an:
import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv' population_df = pd.read_csv(url) print(population_df)
Dieses DataFrame
enthält die Bevölkerung jeder Region. Nun zu unserem Beispiel:
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Creating a pie chart and setting the labels for each region plt.pie(population_df['Population'], labels=population_df['Region']) plt.show()
Wir haben die pie()
-Funktion aufgerufen und die Series
mit den Bevölkerungsdaten als x
-Parameter und die Series
mit den Regionsnamen als Beschriftungen für die Segmente übergeben.
Hinzufügen von Prozenten
Das Diagramm sieht in Ordnung aus, aber es fehlt noch etwas. Wir kennen den genauen Prozentsatz jeder einzelnen Region nicht. Glücklicherweise gibt es einen autopct
-Parameter, der das Format der Beschriftung der Keile angibt (die Beschriftungen werden innen platziert).
Sie können entweder einen Format-String oder eine Funktion übergeben, wir konzentrieren uns hier jedoch auf den Format-String. Lassen Sie uns nun unser Beispiel ändern:
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Setting the label for each region and its percentage plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%') plt.show()
Formatzeichenkette
Hier haben wir die folgende Zeichenkette übergeben: %1.1f%%
.
f
gibt an, dass der Wert als Gleitkommazahl behandelt werden soll (d
gibt eine ganze Zahl an), und .1
, dass genau eine Stelle nach dem Dezimalpunkt stehen soll.
Die Prozentzeichen geben an, dass es sich um eine Formatzeichenkette handelt und dass die Zahl vom Prozentzeichen (%
) gefolgt werden soll.
Wenn Sie mehr Parameter der .pie()
-Methode erkunden möchten, hier ist die Dokumentation für Sie.
Swipe to start coding
- Verwenden Sie die richtige Funktion, um ein Kreisdiagramm zu erstellen.
- Verwenden Sie
incomes
als Daten für das Kreisdiagramm (das erste Argument). - Setzen Sie die Beschriftungen über das zweite Argument auf
names
. - Setzen Sie das Format des Prozentsatzes auf eine Gleitkommazahl mit einer Stelle nach dem Dezimalpunkt über das dritte Argument.
Lösung
Danke für Ihr Feedback!