matplotlib - Ändern der Markierungsfarbe entlang der Plot-Linie

8

Ich möchte einen 2D-Datensatz mit Matplotlib so plotten, dass die Markerfarbe für jeden Datenpunkt unterschiedlich ist. Ich fand das Beispiel in mehrfarbigen Zeilen ( Ссылка ). Dies scheint jedoch nicht zu funktionieren, wenn eine Linie mit Markern gezeichnet wird.

Die Lösung, die ich mir ausgedacht habe, zeichnet jeden Punkt einzeln auf:

%Vor%

Der resultierende Plot sieht aus wie er sollte, aber das Plotten wird sehr langsam und ich brauche es ziemlich schnell. Gibt es einen cleveren Trick, um das Plotten zu beschleunigen?

    
Daniel 04.09.2013, 16:41
quelle

1 Antwort

16

Ich glaube, Sie können dies mit ax.scatter erreichen:

%Vor%

Scatter akzeptiert c als eine Folge von Floats, die mithilfe der cmap den Farben zugeordnet werden.

Mit timeit bekomme ich eine 10fache Verringerung der Zeit (etwa 1,25 Sekunden für die ursprüngliche Methode und 76,8 ms hier)

    
Greg 04.09.2013, 16:54
quelle

Tags und Links