Scatterplot mit verschiedenen Größe, Marke und Farbe von pandas dataframe

Ich versuche zu tun, ein Streudiagramm mit Geschwindigkeit in Metern für jeden Punkt, wo die marker zeigen die verschiedenen Arten, Größe zeigen die verschiedenen Strichstärken und Farben angeben, wie alt ein Punkt ist, über 10 Minuten-Skala. Allerdings war ich nur in der Lage zu zeichnen, die von der Größe so weit.

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, hinzufügen Farbskala die Farbskala basiert auf der alten. es funktionierte, wenn ich das Komplott gegen das gesamte dataset, scheiterte aber nach dem Versuch auf "marker hinzufügen" für jede Teilmenge. 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 zuerst set_array für abbildbar

InformationsquelleAutor Kexin Xu | 2015-05-18

Schreibe einen Kommentar