Ich versuche ein Streudiagramm mit Geschwindigkeit über Meter für jeden Punkt zu machen, wo Marker unterschiedliche Typen anzeigen, Größe unterschiedliche Gewichte und Farbe anzeigen wie alt ein Punkt über 10 ist Minutenskala. Bisher konnte ich jedoch nur nach Größe plotten.Scatterplot mit unterschiedlicher Größe, Markierung und Farbe aus Pandas Datenrahmen
Jede Hilfe wird sehr geschätzt.
x = {'speed': [10, 15, 20, 18, 19], 'meters' : [122, 150, 190, 230, 300], 'type': ['phone', 'phone', 'gps', 'gps', 'car'], 'weight': [0.2, 0.3, 0.1, 0.85, 0.0], 'old': [1, 2, 4, 5, 8]}
m = pd.DataFrame(x)
plt.scatter(m.meters, m.speed, s = 30* m.weight)
mkr_dict = {'gps': 'x', 'phone': '+', 'car': 'o'}
meters speed type weight old
0 122 10 phone 0.20 1
1 150 15 phone 0.30 2
2 190 20 gps 0.10 4
3 230 18 gps 0.85 5
4 300 19 car 0.00 8
Aktualisiert Frage:
Ich versuche colorbar auf der Farbskala auf alten Basis hinzuzufügen. Es funktionierte, wenn ich gegen das gesamte Dataset zeichnete, aber nachdem ich versucht hatte, Marker für jede Teilmenge hinzuzufügen. Irgendeine Idee?
plt.scatter(m.meters, m.speed, s = 30* m.weight, c=m.old)
cbar = plt.colorbar(ticks = [0, 5, 10])
cbar.ax.set_yticklabels(['New','5mins', '10mins'])
Typeerror: Sie müssen sich zunächst für mappable