Wie man einzigartige Farben von Histogrammbalken in Matplotlib auswählt?

Ich versuche, mehrere Histogramme auf dasselbe Diagramm zu zeichnen, habe jedoch festgestellt, dass einige Farben verschiedenen Serien zugeordnet sind, was mich ein wenig stört. Gibt es eine Möglichkeit, die Eindeutigkeit von Farbbalken zu erzwingen?

Das funktioniert bei kleinen Datenmengen, aber wenn ich viele Daten verwende, tritt dieses Problem erneut auf

Hier ein Beispiel, die blaue Farbe wird zweimal zwei verschiedenen Datenmustern zugeordnet

Alle Beispiele und Lösungen, um Farben zu Histogrammen in matplotlib zuzuordnen (zumindest die, die ich gefunden habe), schlagen vor, die x-Achse zwischen 0 und 1 zu normalisierendieses Beispiel , aber das ist nicht das, was ich haben möchte, weil es sehr wichtig ist, die wahren Werte in meinem Fall zu haben.

Gibt es eine andere Lösung?

Vielen Dank

BEARBEITEN

Eine Lösung, die ich mitgebracht habe, besteht darin, eine cmap-Palette in ein numpy-Array umzuwandeln und die Pyplot-Hist-Farbe durch Aufrufen dieser Palette zu verwenden

N = len(list_of_samples)
sample_colors = cm.get_cmap('RdYlBu', N)
palette = sample_colors(np.arange(N))

Aber dies funktioniert nur für die Grafikfunktion. Ich habe diese Fehlermeldung erhalten

ValueError: to_rgba: Invalid rgba arg "[[ 0.64705884  0.          0.14901961  1.        ]
 [ 0.89187675  0.2907563   0.20000001  1.        ]
 [ 0.98711484  0.64593837  0.36358543  1.        ]
 [ 0.99719888  0.91316527  0.61736696  1.        ]
 [ 0.91316529  0.96638656  0.90868344  1.        ]
 [ 0.63977591  0.82633053  0.90028011  1.        ]
 [ 0.34957983  0.55294117  0.75462185  1.        ]
 [ 0.19215687  0.21176471  0.58431375  1.        ]]"
only length-1 arrays can be converted to Python scalars

Antworten auf die Frage(1)

Ihre Antwort auf die Frage