Ho una serie temporale di dati per i quali ho la quantità, y, e il suo errore, yerr. Vorrei ora creare un grafico che mostri y contro fase (cioè tempo/periodo% 1) con errorber verticali (yerr). Per questo, di solito uso pyplot.errorbar (time, y, yerr = yerr, ...)Colormap per caratteri erratici nel grafico a dispersione x-y usando matplotlib
Tuttavia, mi piacerebbe usare una barra di colore/mappa per indicare il valore del tempo in questo stesso grafico.
Quello che così faccio è la seguente:
pylab.errorbar(phase, y, yerr=err, fmt=None, marker=None, mew=0)
pylab.scatter(phase, y, c=time, cmap=cm)
Purtroppo, questo sarà tracciare errorbars tinta unita (di default è blu). Dato che ho ~ 1600 punti per trama, questo fa scomparire dietro la barra di errore la mappa di colori del grafico a dispersione. Ecco una foto mostra quello che voglio dire:
C'è un modo che io possa avere le barre di errore da tracciare usando la stessa mappa di colori di quello utilizzato nel grafico a dispersione? Non voglio chiamare errorbar 1600 volte ...
@ Hooked, penso a caso vuole che i suoi/sue errorbars abbiano lo stesso colorare come i suoi punti di riferimento. La tua soluzione è buona poiché mette sotto i datapoints e migliora la chiarezza del grafico, ma non risolve il problema del colore della barra degli errori. –
@ Moi Jaiunvelo: ho provato questo e non funziona per me, sfortunatamente. Potresti spiegare come ottenere la matrice temporale (tipo float ed eseguito tipicamente da [0, 2000.]) su un array ecolor valido? – Random