2012-12-05 32 views
5

Próbuję dowiedzieć się, jak używać schematów kolorów Mathematica z dyskretne dane. Na przykład Mam listę szeregów czasowych w postaciOkreślanie sekwencji kolorów w ListPlot

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

i tak dalej; istnieje około 30 serii o różnej długości. Jeśli wykreślam/łączę/nakładam te serie przy użyciu ListPlot, czy istnieje sposób, aby poinstruować Mathematica, aby wybrał kolory dla każdego wykresu, biorąc równomiernie rozmieszczone kolory z ColorFunction zwróconego przez ColorData (np. "Rainbow")?

W jaki sposób mogę połączyć to z dyrektywą, aby każdy działki był Thick?

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

Odpowiedz

9

Wyobraź to dane - obdarty lista 30 list zróżnicowanej długości:

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

Czy to, co trzeba?

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

enter image description here

+0

Idealny. Dzięki! – mfvonh

+0

Jestem zdezorientowany; nie powinien "spłaszczyć" być "nicią"? Dlaczego forma stworzona przez 'Spłaszczam' działa? Spodziewałbym się, że będzie to styl pierwszej linii "Gruby", a potem reszta w kolorze. –

+0

@ Mr.Wizard masz rację, "Thread" jest czystszy, zaktualizowany. Po prostu wiem z doświadczenia, że ​​'Flatten' działa. –