Ho una serie di linee che devono essere tracciate ciascuna con un colore separato. Ogni linea è in realtà composta da diversi set di dati (regioni positive, negative, ecc.) E quindi mi piacerebbe essere in grado di creare un generatore che alimenterà un colore alla volta su uno spettro, ad esempio la mappa gist_rainbow
shown here.Creare un generatore di colori da una data mappa in matplotlib
Ho trovato le seguenti opere ma sembra molto complicato e soprattutto difficile da ricordare,
from pylab import *
NUM_COLORS = 22
mp = cm.datad['gist_rainbow']
get_color = matplotlib.colors.LinearSegmentedColormap.from_list(mp, colors=['r', 'b'], N=NUM_COLORS)
...
# Then in a for loop
this_color = get_color(float(i)/NUM_COLORS)
Inoltre, non copre la gamma di colori nella mappa gist_rainbow
, devo ridefinire una mappa .
Forse un generatore non è il modo migliore per farlo, se sì, qual è il modo accettato?
: Ciao, volevo chiederti come posso usare questo nella mia program.I avere per esempio le cellule che hanno valori interi (vuoto = 0, pieno = 1 ..). Come posso fare in modo che "vuoto" corrisponda al colore "rosso", completo di colore bianco ecc. Ho una funzione in cui faccio la trama ".... im = plt.imshow (mydata, cmap = plt.get_cmap ('gist_earth')) ".Come devo implementare quanto sopra? (se diciamo la stessa cosa). Grazie! – George
@George: come lo descrivi, non sono sicuro del perché questo non funzioni per te. Magari postare una domanda completa con un piccolo esempio. – tom10
: Se puoi controllare qui http://stackoverflow.com/questions/8929456/how-to-create-a-movie-in-relation-to-matlab (nella parte aggiornata) dove creo il grafico.Come può implemento il tuo esempio? (Se insisti, pubblicherò una nuova risposta) Grazie! – George