I boxplot von Daten erstellen möchten, in den Vergleich, mein Grundstück wieWie kann ich boxplot Farbe durch Regenbogen in matplotlib
wie kann ich Farbe hinzufügen, wie
I boxplot von Daten erstellen möchten, in den Vergleich, mein Grundstück wieWie kann ich boxplot Farbe durch Regenbogen in matplotlib
wie kann ich Farbe hinzufügen, wie
Sie können die Box nach this example färben. Darüber hinaus müssen Sie Ihre Daten berücksichtigen, um auf der "Regenbogen" -Farbkarte mit this module zu malen. Hier ist ein Beispiel mit zufälligen Testdaten. Ich male Farben in diesem Beispiel mit Mitteln.
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
# Random test data
test_data = [np.random.normal(mean, 1, 100) for mean in range(50)]
fig, axes = plt.subplots(figsize=(12, 16))
# Horizontal box plot
bplot = axes.boxplot(test_data,
vert=False, # vertical box aligmnent
patch_artist=True) # fill with color
# Fill with colors
cmap = cm.ScalarMappable(cmap='rainbow')
test_mean = [np.mean(x) for x in test_data]
for patch, color in zip(bplot['boxes'], cmap.to_rgba(test_mean)):
patch.set_facecolor(color)
plt.show()
können Sie die cmap
Eigenschaft tatsächlich eine Funktion sein, die Werte zwischen 0 und 1, der Annahme und nennen es „Normalisierung“ Ihre Daten. Mit matplotlib
Beispiel auf Boxplots:
import matplotlib.pyplot as plt
import numpy as np
# Random test data
np.random.seed(123)
all_data = [np.random.normal(0, 5, 100) for std in range(1, 21)]
fig, ax = plt.subplots(nrows=1, figsize=(9, 4))
# rectangular box plot
bplot = ax.boxplot(all_data, 0, '', 0, patch_artist=True)
cm = plt.cm.get_cmap('rainbow')
colors = [cm(val/len(all_data)) for val in range(len(all_data))]
for patch, color in zip(bplot['boxes'], colors):
patch.set_facecolor(color)
plt.show()
ich bekomme nur lila Farbe für diesen Code @ ViníciusAguiar –
Das ist komisch, es sollte funktionieren, was bekommen Sie vom Drucken 'Farben'? –
Oh, Sie schlugen mich auf den Stempel! Wirklich nette Herangehensweise, ich würde nicht daran denken 'np.mean (x)' als Parameter zu verwenden, clever! (+1) –
@ ViníciusAguiar Danke. OP hat nicht angegeben, wie die Farbe abgebildet wird. Also würde ich sagen, deine Antwort ist auch nett. –