Ich arbeite mit Daten, deren Daten 3 Plotparameter haben: x, y, c. Wie erstellen Sie einen benutzerdefinierten Farbwert für ein Streudiagramm?
Ich versuche dieses Beispiel zu erweitern:
import matplotlib
import matplotlib.pyplot as plt
cm = matplotlib.cm.get_cmap('RdYlBu')
colors=[cm(1.*i/20) for i in range(20)]
xy = range(20)
plt.subplot(111)
colorlist=[colors[x/2] for x in xy] #actually some other non-linear relationship
plt.scatter(xy, xy, c=colorlist, s=35, vmin=0, vmax=20)
plt.colorbar()
plt.show()
aber das Ergebnis ist TypeError: You must first set_array for mappable
python
colors
matplotlib
Adam Greenhall
quelle
quelle
'AxesSubplot' object has no attribute 'colorbar'
. Ich habe getanax.colorbar()
... was mache ich falsch?Hier ist die OOP-Methode zum Hinzufügen einer Farbleiste:
quelle
plt
zum Zeichnen von Farbbalken, ist meiner Meinung nach keine empfohlene Methode. Dein ist ein empfohlener Weg.Wenn Sie nach zwei Variablen streuen und nach der dritten Farbe streuen möchten , ist Altair eine gute Wahl.
Datensatz erstellen
Altair Grundstück
Handlung
quelle