Zeichnen eines Histogramms in Python mit Matplotlib
Histogramme sind ein grundlegendes Werkzeug bei der Datenvisualisierung und bieten eine grafische Darstellung der Datenverteilung. Sie sind besonders nützlich für die Untersuchung kontinuierlicher Daten, beispielsweise numerischer Messungen oder Sensormesswerte. Dieser Artikel führt Sie durch den Prozess der Darstellung eines Histogramms in Python verwenden Matplotlib , das die wesentlichen Schritte von der Datenvorbereitung bis zur Erstellung des Histogrammdiagramms abdeckt.
Was sind Matplotlib-Histogramme?
A Histogramm stellt Daten dar, die in Form einiger Gruppen bereitgestellt werden. Es handelt sich um eine genaue Methode zur grafischen Darstellung der numerischen Datenverteilung. Es handelt sich um eine Art Balkendiagramm, bei dem die X-Achse die Bin-Bereiche darstellt, während die Y-Achse Informationen über die Häufigkeit liefert.
Erstellen eines Matplotlib-Histogramms
Um ein Matplotlib-Histogramm zu erstellen, besteht der erste Schritt darin, einen Abschnitt der Bereiche zu erstellen, dann den gesamten Bereich der Werte in eine Reihe von Intervallen zu verteilen und die Werte zu zählen, die in jedes der Intervalle fallen. Bins werden als aufeinanderfolgende, nicht überlappende Intervalle von Variablen identifiziert matplotlib.pyplot.hist() Die Funktion wird verwendet, um ein Histogramm von x zu berechnen und zu erstellen.
Die folgende Tabelle zeigt die von der Funktion matplotlib.pyplot.hist() akzeptierten Parameter:
| Attribut | Parameter |
|---|---|
| X | Array oder Folge eines Arrays |
| Mülleimer | Der optionale Parameter enthält eine Ganzzahl, eine Sequenz oder Zeichenfolgen |
| Dichte | Optionaler Parameter enthält boolesche Werte |
| Reichweite | Der optionale Parameter stellt den oberen und unteren Bereich der Bins dar |
| histtype | Optionaler Parameter zum Erstellen des Histogrammtyps [Balken, Balkenstapel, Schritt, schrittweise gefüllt], Standardwert ist Balken |
| ausrichten | optionaler Parameter steuert die Darstellung des Histogramms [links, rechts, Mitte] |
| Gewichte | Der optionale Parameter enthält ein Array von Gewichten mit den gleichen Abmessungen wie x |
| unten | Position der Grundlinie jedes Abschnitts |
| Breite | optionaler Parameter, der die relative Breite der Balken im Verhältnis zur Bin-Breite angibt |
| Farbe | optionaler Parameter, der zum Festlegen der Farbe oder der Reihenfolge von Farbspezifikationen verwendet wird |
| Etikett | optionale Parameterzeichenfolge oder Zeichenfolgenfolge zum Abgleich mit mehreren Datensätzen |
| Protokoll | optionaler Parameter, der zum Festlegen der Histogrammachse auf der Protokollskala verwendet wird |
Zeichnen eines Histogramms in Python mit Matplotlib
Hier sehen wir verschiedene Methoden zum Zeichnen von Histogrammen in Matplotlib Python :
- Grundlegendes Histogramm
- Benutzerdefiniertes Histogramm mit Dichtediagramm
- Individuelles Histogramm mit Wasserzeichen
- Mehrere Histogramme mit Unterdiagrammen
- Gestapeltes Histogramm
- 2D-Histogramm (Hexbin-Diagramm)
Erstellen Sie ein einfaches Histogramm in Matplotlib
Lassen Sie uns in Matplotlib mit Python ein einfaches Histogramm einiger Zufallswerte erstellen.
Python3
import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Plotting a basic histogram> plt.hist(data, bins> => 30> , color> => 'skyblue'> , edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Basic Histogram'> )> # Display the plot> plt.show()> |
Ausgabe:
Angepasstes Histogramm in Matplotlib mit Dichtediagramm
Lassen Sie uns mit Matplotlib und Seaborn in Python ein benutzerdefiniertes Histogramm mit einem Dichtediagramm erstellen. Das resultierende Diagramm visualisiert die Verteilung zufälliger Daten mit einer glatten Dichteschätzung.
Python3
import> matplotlib.pyplot as plt> import> seaborn as sns> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Creating a customized histogram with a density plot> sns.histplot(data, bins> => 30> , kde> => True> , color> => 'lightgreen'> , edgecolor> => 'red'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Density'> )> plt.title(> 'Customized Histogram with Density Plot'> )> # Display the plot> plt.show()> |
Ausgabe:
Individuelles Histogramm mit Wasserzeichen
Erstellen Sie mit Matplotlib in Python ein benutzerdefiniertes Histogramm mit spezifischen Funktionen. Es umfasst zusätzliche Stilelemente, wie das Entfernen von Achsenhäkchen, das Hinzufügen von Polsterungen und das Festlegen eines Farbverlaufs zur besseren Visualisierung.
Python3
import> matplotlib.pyplot as plt> import> numpy as np> from> matplotlib> import> colors> from> matplotlib.ticker> import> PercentFormatter> # Creating dataset> np.random.seed(> 23685752> )> N_points> => 10000> n_bins> => 20> # Creating distribution> x> => np.random.randn(N_points)> y> => .> 8> *> *> x> +> np.random.randn(> 10000> )> +> 25> legend> => [> 'distribution'> ]> # Creating histogram> fig, axs> => plt.subplots(> 1> ,> 1> ,> > figsize> => (> 10> ,> 7> ),> > tight_layout> => True> )> # Remove axes splines> for> s> in> [> 'top'> ,> 'bottom'> ,> 'left'> ,> 'right'> ]:> > axs.spines[s].set_visible(> False> )> # Remove x, y ticks> axs.xaxis.set_ticks_position(> 'none'> )> axs.yaxis.set_ticks_position(> 'none'> )> > # Add padding between axes and labels> axs.xaxis.set_tick_params(pad> => 5> )> axs.yaxis.set_tick_params(pad> => 10> )> # Add x, y gridlines> axs.grid(b> => True> , color> => 'grey'> ,> > linestyle> => '-.'> , linewidth> => 0.5> ,> > alpha> => 0.6> )> # Add Text watermark> fig.text(> 0.9> ,> 0.15> ,> 'Jeeteshgavande30'> ,> > fontsize> => 12> ,> > color> => 'red'> ,> > ha> => 'right'> ,> > va> => 'bottom'> ,> > alpha> => 0.7> )> # Creating histogram> N, bins, patches> => axs.hist(x, bins> => n_bins)> # Setting color> fracs> => ((N> *> *> (> 1> /> 5> ))> /> N.> max> ())> norm> => colors.Normalize(fracs.> min> (), fracs.> max> ())> for> thisfrac, thispatch> in> zip> (fracs, patches):> > color> => plt.cm.viridis(norm(thisfrac))> > thispatch.set_facecolor(color)> # Adding extra features> plt.xlabel(> 'X-axis'> )> plt.ylabel(> 'y-axis'> )> plt.legend(legend)> plt.title(> 'Customized histogram'> )> # Show plot> plt.show()> |
Ausgabe :
Mehrere Histogramme mit Unterdiagrammen
Lassen Sie uns mit Matplotlib in Python zwei Histogramme nebeneinander generieren, jedes mit seinem eigenen Satz zufälliger Daten und bietet einen visuellen Vergleich der Verteilungen von data1> Und data2> Verwendung von Histogrammen.
Python3
import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for multiple histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating subplots with multiple histograms> fig, axes> => plt.subplots(nrows> => 1> , ncols> => 2> , figsize> => (> 12> ,> 4> ))> axes[> 0> ].hist(data1, bins> => 30> , color> => 'Yellow'> , edgecolor> => 'black'> )> axes[> 0> ].set_title(> 'Histogram 1'> )> axes[> 1> ].hist(data2, bins> => 30> , color> => 'Pink'> , edgecolor> => 'black'> )> axes[> 1> ].set_title(> 'Histogram 2'> )> # Adding labels and title> for> ax> in> axes:> > ax.set_xlabel(> 'Values'> )> > ax.set_ylabel(> 'Frequency'> )> # Adjusting layout for better spacing> plt.tight_layout()> # Display the figure> plt.show()> |
Ausgabe:
Gestapeltes Histogramm mit Matplotlib
Lassen Sie uns mit Matplotlib in Python ein gestapeltes Histogramm generieren, das zwei Datensätze mit unterschiedlichen Zufallsdatenverteilungen darstellt. Das gestapelte Histogramm bietet Einblicke in die kombinierte Häufigkeitsverteilung der beiden Datensätze.
Python3
import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for stacked histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating a stacked histogram> plt.hist([data1, data2], bins> => 30> , stacked> => True> , color> => [> 'cyan'> ,> 'Purple'> ], edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Stacked Histogram'> )> # Adding legend> plt.legend([> 'Dataset 1'> ,> 'Dataset 2'> ])> # Display the plot> plt.show()> |
Ausgabe:
Zeichnen Sie ein 2D-Histogramm (Hexbin-Plot) mit Matplotlib
Lassen Sie uns mit Matplotlib in Python ein 2D-Hexbin-Diagramm erstellen, das eine visuelle Darstellung der 2D-Datenverteilung bietet, wobei Sechsecke die Dichte der Datenpunkte vermitteln. Der Farbbalken hilft bei der Interpretation der Punktdichte in verschiedenen Bereichen des Diagramms.
Python3
import> matplotlib.pyplot as plt> import> numpy as np> # Generate random 2D data for hexbin plot> x> => np.random.randn(> 1000> )> y> => 2> *> x> +> np.random.normal(size> => 1000> )> # Creating a 2D histogram (hexbin plot)> plt.hexbin(x, y, gridsize> => 30> , cmap> => 'Blues'> )> # Adding labels and title> plt.xlabel(> 'X values'> )> plt.ylabel(> 'Y values'> )> plt.title(> '2D Histogram (Hexbin Plot)'> )> # Adding colorbar> plt.colorbar()> # Display the plot> plt.show()> |
Ausgabe:
Abschluss
Das Zeichnen von Matplotlib-Histogrammen ist ein einfacher und unkomplizierter Vorgang. Durch die Verwendung der hist()> Mit dieser Funktion können wir ganz einfach Histogramme mit unterschiedlichen Bin-Breiten und Bin-Kanten erstellen. Wir können auch das Erscheinungsbild von Histogrammen an unsere Bedürfnisse anpassen