Farbe für Scatterplot in Matplotlib festlegen

Farbe für Scatterplot in Matplotlib festlegen

Um die Farbe der Marker in der Matplotlib zu setzen, setzen wir den c Parameter in der matplotlib.pyplot.scatter() Methode.

Setzen der Farbe eines Markers in der Scatterplot

import matplotlib.pyplot as plt 

x=[1,2,3,4,5,6,7]
y=[2,1,4,7,4,3,2]

plt.scatter(x,y,c="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Simple Scatter Plot")
plt.show()

Ausgabe:

Setzen der Farbe der Markierung im Streudiagramm

Hier setzen wir die Farbe aller Marker in den Scatterplots auf rot, indem wir c="red" in der scatter() Methode setzen.

Wenn wir zwei verschiedene Datensätze haben, können wir für jeden Datensatz unterschiedliche Farben verwenden, indem wir die verschiedenen Werte des Parameters c verwenden.

import matplotlib.pyplot as plt 

x=[1,2,3,4,5,6,7]
y1=[2,1,4,7,4,3,2]
y2=[4,4,5,3,8,9,6]

plt.scatter(x,y1,c="red")
plt.scatter(x,y2,c="green")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot of two different datasets")
plt.show()

Ausgabe:

Unterschiedliche Farbe für jeden Datensatz in Scatterplot einstellen

Hier wird der Datensatz y1 im Streudiagramm durch die rote Farbe dargestellt, während der Datensatz y2 im Streudiagramm durch die grüne Farbe repräsentiert wird.

Bei einer großen Anzahl von Datensätzen wird es schwierig sein, jedem Datensatz jedes Mal manuell eine Farbe zuzuweisen. In solchen Fällen können wir colormap verwenden, um die Farben für jeden Datensatz zu erzeugen.

import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.cm as cm 

x=np.array([1,2,3,4,5])
y=np.random.random((10,5))

colors = cm.rainbow(np.linspace(0, 1, y.shape[0]))
for dataset,color in zip(y,colors):
    plt.scatter(x,dataset,color=color)

plt.xlabel("X")
plt.ylabel("Y")    
plt.show()

Ausgabe:

Automatisch unterschiedliche Farben für jeden Datensatz einstellen

Es erzeugt verschiedene Farben für jede Zeile in der Matrix y und zeichnet jede Zeile mit einer anderen Farbe auf.

Anstatt die erzeugte Farbkarte zu verwenden, können wir auch Farben angeben, die für Streudiagramme in einer Liste verwendet werden sollen, und die Liste an die Methode itertools.cycle() übergeben, um einen benutzerdefinierten Farb-Cycler zu erstellen. Um über die Farbe zu iterieren, verwenden wir die next() Funktion.

import itertools
import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.cm as cm 

x=np.array([1,2,3,4,5])
y=np.random.random((10,5))

color_cycle= itertools.cycle(["orange","pink","blue","brown","red","grey","yellow","green"])

for row in y:
    plt.scatter(x,row,color=next(color_cycle))

plt.xlabel("X")
plt.ylabel("Y")    
plt.show()

Ausgabe:

Automatisch unterschiedliche Farbe für jeden Datensatz einstellen

Die Methode itertools.cycle() erstellt eine zyklische Farbliste aus dem gegebenen Farbsatz, und jede Zeile wird im Streudiagramm dargestellt, wobei eine Farbe aus der zyklischen Liste ausgewählt wird.

Verwandter Artikel - Matplotlib Scatter Plot

  • Wie wird eine Liste von x,y-Koordinaten in Matplotlib geplottet
  • Matplotlib-Etikett-Streupunkte
  • Plottpunkte in Matplotlib
  • Wie man die Legende des Streudiagramms in Matplotlib erstellt
  • Verwandter Artikel - Matplotlib Color

  • Wie wird die Hintergrundfarbe in Matplotlib festgelegt
  • Benutzerdefinierte Farbkarte mit Python Matplotlib