Matplotlib hinzufügen Legende basierend auf der vorhandenen Farbe Serie
Ich gezeichnet einige Daten mithilfe von scatter-plot und spezifiziert Sie als solche:
plt.scatter(rna.data['x'], rna.data['y'], s=size,
c=rna.data['colors'], edgecolors='none')
und die rna.Daten-Objekt ist ein pandas dataframe, dass ist so organisiert, dass jede Zeile repräsentiert einen Datenpunkt ('x' und 'y' steht für die Koordinate und 'Farben' ist eine ganze Zahl zwischen 0 bis 5 repräsentiert die Farbe des Punktes). Ich gruppierte die Daten-Punkte in sechs verschiedenen Clustern nummeriert von 0 bis 5, und legen Sie die cluster-Anzahl in jedem cluster Mittelwert der Koordinaten.
Diese Ausgänge die folgende Grafik:
Ich Frage mich, wie ich hinzufügen kann, eine Legende zu diesem Grundstück unter Angabe der Farbe und der entsprechenden cluster-Anzahl. plt.legend()
erfordert das Stil-code in das format wie red_patch
aber es scheint nicht zu nehmen numerische Werte (oder die numerische Zeichenketten). Wie kann ich diese Legende mit matplotlib dann? Gibt es eine Möglichkeit, zu übersetzen, mein numerischen Wert Farb-codes auf das format, das plt.legend()
nimmt? Vielen Dank!
- Vielleicht versuchen Sie den Beispiel. Plot der cluster mit kwarg
label
. Dann nutzen Sieax.legend()
erkennen dielabel
und Legenden hinzufügen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen, die Legende Griffe mit einem leeren Grundstück mit der Farbe auf der Farbpalette und Normalisierung der Punktwolke.
Alternativ filtern Sie Ihre dataframe nach den Werten in der Farben-Spalte, z.B. mit groubpy, und zeichnen ein Punktdiagramm für jedes feature:
Beide Methoden erzeugen die gleiche Handlung:
Altair kann eine gute Wahl hier.
Laufende Kurse
Diskrete Klassen