Ich habe eine Zeitreihe von Daten, für die ich die Menge, y, und seinen Fehler, yerr haben. Ich möchte nun ein Diagramm erstellen, das Y gegen Phase (d. H. Zeit/Periode% 1) mit vertikalen Fehlerbalken (yerr) anzeigt. Dazu benutze ich normalerweise pyplot.errorbar (time, y, yerr = yerr, ...)Colormap für Fehlerbalken in x-y Streudiagramm mit Matplotlib
Allerdings würde ich gerne eine colorbar/map verwenden, um den Wert der Zeit in diesem gleichen Diagramm anzuzeigen.
Was ich damit tun, ist die folgende:
pylab.errorbar(phase, y, yerr=err, fmt=None, marker=None, mew=0)
pylab.scatter(phase, y, c=time, cmap=cm)
Leider wird diese einfarbige Fehlerbalken plotten (Standard ist blau). Da ich ~ 1600 Punkte pro Diagramm habe, verschwindet die Farbpalette des Streudiagramms hinter den Fehlerbalken. Hier ist ein Bild zeigt, was ich meine:
Gibt es eine Möglichkeit, dass ich die Fehlerbalken bekommen werden mit dem gleichen colormap wie die geplottet im Streudiagramm verwendet? Ich will nicht errorbar 1600 mal anrufen ...
@ Hooked, ich glaube Zufall sein/ihr Fehlerbalken will das gleiche haben Farbe als seine/ihre Datenpunkte. Ihre Lösung ist gut, da sie Fehlerbalken unter Datenpunkte platziert und die Übersichtlichkeit des Diagramms verbessert. Das Problem mit der Fehlerbalkenfarbe wird jedoch nicht behoben. –
@ Moi Jaiunvelo: Ich habe das versucht und es funktioniert leider nicht für mich. Könntest du bitte erklären, wie man das Zeit-Array (Typ float und läuft typischerweise von [0, 2000]) zu einem gültigen Ecolor-Array bringt? – Random