Wie man die Markergröße eines Streudiagramms in Matplotlib setzt

  1. sSchlüsselwort-Argument der Funktion scatter()
  2. Markierungsgröße-Parameter zur Steuerung der Größe im Plot-Verfahren

Die Größe der Marker im Streudiagramm wird durch das s -Schlüsselwortargument der Funktion scatter() kontrolliert, wobei s ein Skalar oder ein Array ist.

sSchlüsselwort-Argument der Funktion scatter()

Syntax für die Funktion Streuen:

matplotlib.pyplot.scatter(x, y,
                          s=None,
                          c='b', 
                          marker='o', 
                          cmap=None, 
                          norm=None,
                          vmin=None, 
                          vmax=None, 
                          alpha=None, 
                          linewidths=None,
                          faceted=True, 
                          verts=None,
                          hold=None, 
                          **kwargs)

wobei s ein Skalar oder ein Array mit der gleichen Länge wie x und y ist, um die Markierungsgröße zu setzen. Die Standard-Markergröße ist rcParams['lines.markersize'] ** 2. Laut Dokumentation ist sdieMarkergröße in Punkten**2`.

Gleiche Markergröße für alle Punkte setzen

import numpy as np
import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y=np.sin(x)

plt.scatter(x,y,s=500,c='magenta')

plt.title('Scatter plot of sinx')
plt.xlabel('x')
plt.ylabel('sinx')
plt.xlim(0,6)
plt.ylim(-2,2)
plt.show()

Einheitlich vergrößerte Markergröße des Streudiagramms

Markergröße der Punkte ungleichmäßig erhöhen

die doppelte Breite der Markierungen

Um die Breite (oder Höhe) des Markers zu verdoppeln, müssen wir s um den Faktor 4 erhöhen, da A = W*H => (2W)*(2H)= 4A.

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [a**2 for a in x]
s = [10*4**n for n in range(len(x))]
plt.scatter(x,y,s=s)
plt.title('Doubling width of marker in scatter plot')
plt.xlabel('x')
plt.ylabel('x**2')
plt.xlim(0,6)
plt.ylim(0,30)
plt.show()

verdoppelte Breite der Marker

Verdoppelung der Fläche der Markierungen

Um die Fläche des Markers zu verdoppeln, vergrößern wir die “Fläche” um den Faktor “2”, so dass die Größe des Markers linear mit der “Fläche” skaliert.

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [a**2 for a in x]
s = [10*2**n for n in range(len(x))]
plt.scatter(x,y,s=s)
plt.title('Doubling area of marker in scatter plot')
plt.xlabel('x')
plt.ylabel('x**2')
plt.xlim(0,6)
plt.ylim(0,30)
plt.show()

Verdoppelte Fläche der Marker

Markierungsgröße-Parameter zur Steuerung der Größe im Plot-Verfahren

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [0]*len(x)

plt.plot(x,y, 'bo', markersize=10)  
plt.show()

Hier wird die Fläche des Kreises durch den Parameter Markergröße gesteuert.

markersize"-Parameter zur Steuerung der Größe im Plottverfahren

Verwandter Artikel - Matplotlib Scatter

  • Wie wird eine Liste von x,y-Koordinaten in Matplotlib geplottet?
  • Wie man in Matplotlib Streudiagrammpunkte mit Linien verbindet
  • comments powered by Disqus