Matplotlib-Streudiagramme
Wir können die Methode scatter() in pyplot verwenden, um Streudiagramme zu zeichnen.
Die Syntax der Methode scatter() lautet wie folgt:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
Parameter description:
x,y: Arrays gleicher Länge, die die Datenpunkte sind, die wir darstellen möchten, Eingabedaten.
s: Größe der Punkte, Standard 20, kann auch ein Array sein, wobei jeder Parameter des Arrays die Größe des entsprechenden Punktes angibt.
c: Farbe der Punkte, standardmäßig blau 'b', kann auch ein zweidimensionales RGB- oder RGBA-Zeilenarray sein.
marker: Punktstil, standardmäßig kleiner Kreis 'o'.
cmap: Colormap, Standard None, ein Skalar oder der Name einer Colormap, wird nur verwendet, wenn c ein Array von Gleitkommazahlen ist. Wenn nicht angegeben, ist es image.cmap.
norm: Normalize, Standardwert None, Datenhelligkeit zwischen 0-1, wird nur verwendet, wenn c ein Array von Gleitkommazahlen ist.
vmin,vmax:: Helligkeitseinstellung, wird ignoriert, wenn der Parameter norm vorhanden ist.
alpha:: Transparenzeinstellung, zwischen 0-1, Standardwert None, bedeutet undurchsichtig.
linewidths:: Länge des Markerpunkts.
edgecolors:: Farbe oder Farbsequenz, Standardwert 'face', optionale Werte sind 'face', 'none', None.
plotnonfinite:: boolescher Wert, legt fest, ob Punkte mit ungültigem c (inf, -inf oder nan) gezeichnet werden.
**kwargs:: weitere Parameter.
Das folgende Beispiel übergibt Arrays gleicher Länge an die Funktion scatter(), eines für die x-Achsen-Werte und das andere für die y-Achsen-Werte:
Beispiel
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
plt.scatter(x, y)
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Legen Sie die Größe der Marker fest:
Beispiel
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
sizes = np.array([20,50,100,200,500,1000,60,90])
plt.scatter(x, y, s=sizes)
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Farbe der Punkte anpassen:
Beispiel
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
colors = np.array(["red","green","black","orange","purple","beige","cyan","magenta"])
plt.scatter(x, y, c=colors)
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Zwei Sätze von Streudiagrammen zeichnen:
Beispiel
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color = 'hotpink')
x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#6F9CC9')
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Zufallszahlen zum Festlegen des Streudiagramms verwenden:
Beispiel
import matplotlib.pyplot as plt
# Startwert für den Zufallszahlengenerator
np.random.seed(19680801)
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2 # 0 bis 15 Punktradien
plt.scatter(x, y, s=area, c=colors, alpha=0.5) # Farbe und Transparenz festlegen
plt.title("EXAMPLE Scatter Test") # Titel festlegen
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Farbleiste-Farbpalette
Das Matplotlib-Modul bietet viele verfügbare Farbleisten.
Eine Farbleiste ist wie eine Farbliste, bei der jede Farbe einen Wert von 0 bis 100 hat.
Hier ist ein Beispiel für eine Farbleiste:

Um eine Farbleiste festzulegen, müssen Sie den Parameter cmap mit dem Standardwert 'viridis' verwenden und dann die Farbwerte auf ein Array von 0 bis 100 setzen.
Beispiel
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Wenn Sie die Farbleiste anzeigen möchten, müssen Sie dieplt.colorbar()-Methode verwenden:
Beispiel
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Verwenden Sie einen anderen Farbleisten-Parameter, setzen Sie cmap aufafmhot_r:
Beispiel
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='afmhot_r')
plt.colorbar()
plt.show()
Das angezeigte Ergebnis sieht wie folgt aus:

Die Werte des colorbar-Parameters können die folgenden sein:
| Farbnamen | Reservierte Schlüsselwörter | |
|---|---|---|
| Accent | Accent_r | |
| Blues | Blues_r | |
| BrBG | BrBG_r | |
| BuGn | BuGn_r | |
| BuPu | BuPu_r | |
| CMRmap | CMRmap_r | |
| Dark2 | Dark2_r | |
| GnBu | GnBu_r | |
| Greens | Greens_r | |
| Greys | Greys_r | |
| OrRd | OrRd_r | |
| Oranges | Oranges_r | |
| PRGn | PRGn_r | |
| Paired | Paired_r | |
| Pastel1 | Pastel1_r | |
| Pastel2 | Pastel2_r | |
| PiYG | PiYG_r | |
| PuBu | PuBu_r | |
| PuBuGn | PuBuGn_r | |
| PuOr | PuOr_r | |
| PuRd | PuRd_r | |
| Purples | Purples_r | |
| RdBu | RdBu_r | |
| RdGy | RdGy_r | |
| RdPu | RdPu_r | |
| RdYlBu | RdYlBu_r | |
| RdYlGn | RdYlGn_r | |
| Reds | Reds_r | |
| Set1 | Set1_r | |
| Set2 | Set2_r | |
| Set3 | Set3_r | |
| Spectral | Spectral_r | |
| Wistia | Wistia_r | |
| YlGn | YlGn_r | |
| YlGnBu | YlGnBu_r | |
| YlOrBr | YlOrBr_r | |
| YlOrRd | YlOrRd_r | |
| afmhot | afmhot_r | |
| autumn | autumn_r | |
| binär | binary_r | |
| bone | bone_r | |
| brg | brg_r | |
| bwr | bwr_r | |
| cividis | cividis_r | |
| cool | cool_r | |
| coolwarm | coolwarm_r | |
| copper | copper_r | |
| cubehelix | cubehelix_r | |
| flag | flag_r | |
| gist_earth | gist_earth_r | |
| gist_gray | gist_gray_r | |
| gist_heat | gist_heat_r | |
| gist_ncar | gist_ncar_r | |
| gist_rainbow | gist_rainbow_r | |
| gist_stern | gist_stern_r | |
| gist_yarg | gist_yarg_r | |
| gnuplot | gnuplot_r | |
| gnuplot2 | gnuplot2_r | |
| gray | gray_r | |
| hot | hot_r | |
| hsv | hsv_r | |
| inferno | inferno_r | |
| jet | jet_r | |
| magma | magma_r | |
| nipy_spectral | nipy_spectral_r | |
| ocean | ocean_r | |
| pink | pink_r | |
| plasma | plasma_r | |
| prism | prism_r | |
| rainbow | rainbow_r | |
| seismic | seismic_r | |
| spring | spring_r | |
| summer | summer_r | |
| tab10 | tab10_r | |
| tab20 | tab20_r | |
| tab20b | tab20b_r | |
| tab20c | tab20c_r | |
| terrain | terrain_r | |
| twilight | twilight_r | |
| twilight_shifted | twilight_shifted_r | |
| viridis | viridis_r | |
| winter | winter_r |






