2012-12-05 9 views
5

Sto cercando di capire come utilizzare gli schemi di colori di Mathematica con dati discreti. Ad esempio, ho un elenco di serie temporali nel formatoSpecifica della sequenza di colori in ListPlot

s={{{1946,1},{1947,2},{1948,3}},{{1946,-2},{1947,-1.8}}} 

e così via; ci sono circa 30 serie di lunghezza variabile. Se eseguo il plot/join/overlay di queste serie utilizzando ListPlot, c'è un modo per istruire Mathematica a selezionare i colori per ciascun grafico prendendo i colori equidistanti da un ColorFunction restituito da ColorData (ad esempio, "Rainbow")?

Come dovrei combinare questo con una direttiva per rendere ogni trama Thick?

ListPlot[s,Joined->True,PlotStyle->{Thick,???}] 

risposta

9

Immaginate questo è il vostro dati - un elenco frastagliato di 30 liste di varia lunghezza:

data = Table[.5 k + RandomReal[1, RandomInteger[{8, 14}]], {k, 30}]; 

E 'quello che ti serve?

ListPlot[data, Joined -> True, 
     PlotStyle -> [email protected]{Thick, ColorData["Rainbow"] /@ Range[0, 1, 1/29]}] 

enter image description here

+0

Perfetto. Grazie! – mfvonh

+0

Sono confuso; non dovrebbe "Appiattire" essere "Thread"? Perché il modulo prodotto da 'Flatten' funziona? Mi aspetterei che modificherebbe la prima riga 'Thick' e quindi il resto a colori. –

+0

@ Mr.Wizard hai ragione, 'Thread' è più pulito, aggiornato. So solo per esperienza che "Flatten" funziona. –

Problemi correlati