Ich benutze die Hash-Funktion, um Zahlen zwischen 0 und 1 zu erhalten. Sie können dies auch verwenden, wenn Sie nicht alle Labels kennen:
%Vor%Ich möchte die Beschriftungen einiger Daten in Farben für die Darstellung mit Matplotlib
übersetzen Ich habe eine Liste von Namen ["bob", "joe", "andrew", "pete"]
Gibt es eine eingebaute Methode, um diese Zeichenfolgen in matplotlib mit Farbwerten zu verknüpfen? Ich dachte darüber nach, zufällig Hex-Werte zu erstellen, aber ich könnte mit ähnlichen Farben oder nicht sichtbaren Farben enden.
Ich habe ein paar verschiedene Möglichkeiten ausprobiert, um Schlüsselwerte aus der folgenden cmap-Antwort zu erstellen:
das:
%Vor% Wählen Sie eine Farbkarte , z. B. viridis
:
Die Colormap, cmap
, ist eine Funktion, die ein Array von Werten von 0 bis 1 aufnehmen und sie RGBA-Farben zuordnen kann. np.linspace(0, 1, len(names))
erzeugt ein Array von gleich beabstandeten Zahlen von 0 bis 1 mit der Länge len(names)
. Also,
wählt gleichmäßig beabstandete Farben aus der Farbpalette viridis
aus.
Beachten Sie, dass dies nicht den Wert der Zeichenfolge verwendet, sondern nur die Ordinalposition der Zeichenfolge in der Liste, um eine Farbe auszuwählen. Beachten Sie auch, dass dies keine zufälligen Farben sind. Dies ist nur eine einfache Möglichkeit, um aus einer beliebigen Liste von Strings eindeutige Farben zu erzeugen.
Also:
%Vor%Das Problem mit
%Vor% ist, dass der c
-Parameter von ax.scatter
eine Sequenz von RGB erwartet ( EIN)
Werte mit der gleichen Länge wie x
oder eine einzelne Farbe. clr
ist ein Diktat, keine Sequenz. Damit
Wenn colors
die gleiche Länge wie x
hat, könnten Sie
Ich möchte die Beschriftungen einiger Daten in Farben für die Darstellung mit Matplotlib
übersetzenIch habe eine Liste von Namen %code%
Gibt es eine eingebaute Methode, um diese Zeichenfolgen in matplotlib mit Farbwerten zu verknüpfen? Ich dachte darüber nach, zufällig Hex-Werte zu erstellen, aber ich könnte mit ähnlichen Farben oder nicht sichtbaren Farben enden.
Ich habe ein paar verschiedene Möglichkeiten ausprobiert, um Schlüsselwerte aus der folgenden cmap-Antwort zu erstellen:
das:
%Vor%Ich benutze die Hash-Funktion, um Zahlen zwischen 0 und 1 zu erhalten. Sie können dies auch verwenden, wenn Sie nicht alle Labels kennen:
%Vor%Wählen Sie eine Farbkarte , z. B. %code% :
%Vor%Die Colormap, %code% , ist eine Funktion, die ein Array von Werten von 0 bis 1 aufnehmen und sie RGBA-Farben zuordnen kann. %code% erzeugt ein Array von gleich beabstandeten Zahlen von 0 bis 1 mit der Länge %code% . Also,
%Vor%wählt gleichmäßig beabstandete Farben aus der Farbpalette %code% aus.
Beachten Sie, dass dies nicht den Wert der Zeichenfolge verwendet, sondern nur die Ordinalposition der Zeichenfolge in der Liste, um eine Farbe auszuwählen. Beachten Sie auch, dass dies keine zufälligen Farben sind. Dies ist nur eine einfache Möglichkeit, um aus einer beliebigen Liste von Strings eindeutige Farben zu erzeugen.
Also:
%Vor%Das Problem mit
%Vor%ist, dass der %code% -Parameter von %code% eine Sequenz von RGB erwartet ( EIN) Werte mit der gleichen Länge wie %code% oder eine einzelne Farbe. %code% ist ein Diktat, keine Sequenz. Damit Wenn %code% die gleiche Länge wie %code% hat, könnten Sie
verwenden %Vor%Tags und Links python matplotlib