Wiele napisano na temat wyboru kolorów przyjaznych dla ślepych kolorów dla map, wielokątów i ogólnie zacienionych regionów (patrz na przykład http://colorbrewer2.org ). Nie byłem w stanie znaleźć zaleceń dotyczących kolorów linii i różnej grubości linii dla wykresów linii. Cele to:
- łatwo rozróżniają linie, nawet gdy się przeplatają
- linie są łatwe do rozróżnienia przez osoby z najczęstszymi formami ślepoty na kolory
- (mniej ważne) wiersze są przyjazne dla drukarki (patrz Color Brewer powyżej)
W kontekście czarnych i szarych linii skali bardzo skuteczne okazało się posiadanie cienkich czarnych linii i grubszych szarych linii. Byłbym wdzięczny za konkretne zalecenia, które obejmują różne kolory, stopień skali szarości i grubość linii. Nie przepadam za różnymi rodzajami linii (ciągłe / kropkowane / przerywane), ale można by o tym mówić.
Zalecane byłoby posiadanie zaleceń dla maksymalnie 10 krzywych na jednym wykresie. Jeszcze lepiej byłoby zrobić tak, jak robi to Color Brewer: pozwól, aby rekomendacje dla m linii nie były podzbiorem rekomendacji dla n linii, gdzie n> m, i zmieniać m od 1 do 10.
Uwaga : Byłbym wdzięczny za wskazówki, które dotyczą tylko części pytania dotyczącej kolorowania linii.
Niektórzy praktykujący dodają symbole do linii co kilka centymetrów, aby lepiej rozróżnić różne klasy. Nie jestem zwolennikiem, który wymaga więcej niż jednej funkcji (np. Kolor + typ symbolu), aby rozróżnić klasy, i czasami chciałbym zarezerwować symbole, aby oznaczyć różne informacje.
Wobec braku innych wskazówek proponuję zastosować te same kolory, które są zalecane dla wielokątów w colorbrewer2.org dla linii, i pomnożyć szerokość linii przez 2,5 dla linii narysowanych z mniej jaskrawymi / gęstymi kolorami. Tworzę funkcję R, która to konfiguruje. Oprócz kolorów w kolorze piwnym, myślę, że pierwsze 2 kolory będą jednolicie czarne (cienkie) i skali szarości (grube), chociaż można argumentować, że powinny być cienkie jednolicie czarne i cienkie niebieskie.
Funkcje R można znaleźć na stronie http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RConfiguration/Rprofile . Po zdefiniowaniu funkcji colBrew
możesz zobaczyć, jak działają ustawienia, pisząc
showcolBrew(number of line types) # add grayscale=TRUE to use only grayscale
latticeSet
Podano także funkcję ustawiania lattice
parametrów graficznych na nowe ustawienia. Ulepszenia algorytmów są mile widziane.
Do eksploracji : dichromat
Pakiet R : http://cran.r-project.org/web/packages/dichromat/
źródło
Odpowiedzi:
Postaram się tutaj prowokować i zastanawiać się, czy nie ma takich wytycznych, ponieważ jest to problem prawie nierozwiązywalny. Ludzie z zupełnie różnych dziedzin wydają się zgadzać, często rozmawiając o „fabułach spaghetti” i problemach, jakie stwarzają przy rozróżnianiu różnych serii.
Konkretnie, masa linii dla kilku indywidualnych szeregów czasowych może zbiorowo przenosić ogólne wzorce, a czasem indywidualne szeregi, które różnią się od dowolnego takiego wzorca.
Pytanie jednak dotyczy rozróżnienia wszystkich indywidualnych szeregów czasowych, gdy mają one tożsamości, na których ci zależy.
Jeśli masz powiedziane 2 lub 3 serie, rozróżnianie serii zwykle nie jest zbyt trudne, a ja chciałbym używać linii ciągłych w dwóch lub trzech kolorach czerwonym, niebieskim lub czarnym. Grałem również w kolorze pomarańczowym i niebieskim, tak jak Hastie i przyjaciele (patrz odpowiedź od @ user31264).
Zmieniając wzór linii (bryła, kreska, kropka itp.) Znalazłem tylko ograniczoną wartość. Kropkowane linie zwykle są wyprane fizycznie i psychicznie, a bardziej subtelne kombinacje kropek i kresek są po prostu zbyt subtelne (co oznacza, nieznaczne) w przeciwieństwie do sukcesu w praktyce.
Powiedziałbym, że problem gryzie na długo przed tym, jak masz 10 serii. Jeśli nie są bardzo różne, 5 lub więcej serii może być zbyt trudnych do rozróżnienia. Powszechna psychologia wydaje się polegać na tym, że ludzie doskonale rozumieją zasadę, że różne serie są doskonale oznaczone różnymi kolorami i / lub symboliką, ale brakuje im ochoty ciężko pracować nad wykreśleniem poszczególnych linii i próbować opowiedzieć o ich podobieństwach i różnicach w głowach . Część tego często wynika z użycia legendy (lub klucza). To kontrowersyjne, ale w miarę możliwości starałbym się oznaczać różne serie na wykresie. Moje motto brzmi: „Zgub legendę lub zabij klucz, jeśli możesz”.
Uwielbiam inne podejście do pokazywania wielu szeregów czasowych, w których wszystkie różne szeregi czasowe są pokazywane wielokrotnie na kilku panelach, ale w każdym z nich jest wyróżniona inna. To połączenie jednego starego pomysłu (a) małych wielokrotności (jak je nazywa Edward Tufte) i innego starego pomysłu (b) podkreślającego serię szczególnych zainteresowań. To z kolei może być kolejnym odkrytym na nowo pomysłem, ale do tej pory mogę znaleźć tylko najnowsze referencje. Więcej w tym wątku na temat Statalist .
Jeśli chodzi o kolory, jestem przekonany, że używam szarości do szeregów czasowych, które są tłem dla wszystkiego, co jest podkreślane. Wydaje się to spójne z większością czasopism, w których warto publikować.
Oto jeden eksperyment. Dane dotyczą plonów ziarna z 17 poletek na polach Broadbalk w Rothamsted 1852-1925 i pochodzą z Andrews, DF i Herzberg, AM (Eds) 1985. Dane: Zbiór problemów z wielu pól dla studenta i pracownika naukowego . New York: Springer, tabela 5.1 i do pobrania z różnych miejsc (np. Wprowadź opis linku . (Szczegóły: dane pojawiają się w blokach po 4 wiersze dla każdego roku; trzeci i czwarty wiersz dotyczą wydajności słomy, nie zostały tu przedstawione). identyfikatory działek nie są jawne w tej tabeli).
Nie mam specjalistycznej wiedzy na temat tego rodzaju danych; Chciałem tylko wielu szeregów czasowych, których nie można (łatwo) uznać za banalnie małe pod względem długości serii lub liczby paneli. (Jeśli masz setki, tysiące ... paneli, takie podejście nie może naprawdę wiele pomóc). Wyobrażam sobie, że analityk danych, być może rozmawiając z ekspertem w danej dziedzinie, może zidentyfikować różne wspólne i nietypowe zachowania tutaj i dzięki temu uzyskać wgląd i informacje.
Oczywiście ten przepis można zastosować do wielu innych rodzajów wykresów (np. Wykresów punktowych lub histogramów z każdym podświetlonym kolejno podzestawem); wraz z układaniem paneli według interesujących lub przydatnych miar lub kryteriów (np. według mediany lub 90 percentyla lub SD); i dla wyników modelu, a także surowych danych.
źródło
Na pytania 2 i 3 sam odpowiedziałeś - palety kolorowych browarów są odpowiednie. Trudne pytanie to 1, ale obawiam się, podobnie jak Nick, że ma ono fałszywą nadzieję. Kolor linii nie jest tym, co pozwala łatwo rozróżnić linie, opiera się na ciągłości i krętości linii. Istnieją zatem wybory oparte na projekcie, inne niż kolor lub wzór linii, które ułatwią interpretację wykresu.
Jako przykład ukradnę jeden ze schematów Franka pokazujących elastyczność splajnów w celu przybliżenia wielu funkcji o różnych kształtach w ograniczonej dziedzinie.
Teraz tworzy to dość splątany bałagan z 20 liniami, co jest trudnym wyzwaniem do wizualizacji.
Oto ta sama fabuła w małych wielokrotnościach, w tym samym rozmiarze, przy użyciu owiniętych paneli. Porównania między panelami są nieco trudniejsze, ale nawet w zmniejszonej przestrzeni znacznie łatwiej jest wyobrazić sobie kształt linii.
Jednym ze stwierdzeń Stephena Kosslyna w swoich książkach jest to, że nie tyle różnych linii komplikuje fabułę, ile różnych rodzajów kształtów może przyjmować linia. Jeśli 20 paneli jest zbyt małych, często możesz zredukować zestaw do podobnych trajektorii, aby umieścić go w tym samym panelu. Nadal trudno jest rozróżnić linie w panelach, z definicji będą się one w pobliżu nakładać i często nachodzić na siebie, ale zmniejsza to znacznie złożoność wykonywania porównań między panelami. Tutaj arbitralnie zredukowałem 20 linii do 4 oddzielnych grup. Ma to tę dodatkową zaletę, że bezpośrednie etykietowanie linii jest prostsze, w panelach jest więcej miejsca.
Istnieje ogólna fraza, która odnosi się do sytuacji, jeśli skupiasz się na wszystkim, koncentrujesz się na niczym . W przypadku tylko dziesięciu linii możesz
(10*9)/2=45
porównać pary linii. Prawdopodobnie nie jesteśmy zainteresowani wszystkimi 45 porównaniami w większości przypadków, albo jesteśmy zainteresowani porównaniem konkretnych linii ze sobą lub porównaniem jednej linii z rozkładem pozostałych. Odpowiedź Nicka ładnie pokazuje to drugie. Wystarczy narysować cienkie, jasne i półprzezroczyste linie tła, a następnie narysować linię pierwszego planu w dowolnym jasnym i grubszym kolorze. (Również w przypadku urządzenia należy narysować linię pierwszego planu nad innymi liniami!)Znacznie trudniej jest utworzyć warstwę, w której każdą pojedynczą linię można łatwo odróżnić w plątaninie. Jednym ze sposobów osiągnięcia różnicowania tła pierwszego planu w kartografii jest użycie cieni ( dobry przykład tego artykułu autorstwa Dana Carra ). To nie będzie skalować do 10 linii, ale może pomóc dla 2 lub 3 linii. Oto przykład trajektorii w Panelu 1 za pomocą Excela!
Są jeszcze inne kwestie, na przykład jasnoszare linie, które mogą wprowadzać w błąd, jeśli trajektorie nie są gładkie. Np. Możesz mieć dwie trajektorie w kształcie litery X lub dwie w kształcie jednej prawej strony do góry i do góry nogami V. Rysując je w tym samym kolorze, nie będziesz w stanie prześledzić linii, dlatego niektórzy sugerują rysowanie równoległych wykresów współrzędnych za pomocą gładkich linii lub drżenie / przesunięcie punktów ( Graham i Kennedy, 2003 ; Dang i in., 2010 ).
Tak więc porady projektowe mogą ulec zmianie w zależności od celu końcowego i charakteru danych. Kiedy jednak interesujące są dwuwymiarowe porównania trajektorii, myślę, że grupowanie podobnych trajektorii i stosowanie małych wielokrotności znacznie ułatwia interpretację wykresów w wielu różnych okolicznościach. Wydaje mi się, że jest to na ogół bardziej produktywne niż jakakolwiek kombinacja kolorów / kresek linii na skomplikowanych wykresach. Pojedyncze wykresy paneli w wielu artykułach są znacznie większe niż powinny, a podział na 4 panele jest zazwyczaj możliwy w ramach ograniczeń strony bez większych strat.
źródło
Z „Elementów statystycznego uczenia się” Trevora Hastiego i in. :
„Nasza pierwsza edycja była nieprzyjazna dla czytelników niewidomych dla kolorów; w szczególności preferowaliśmy kontrasty czerwono-zielone, które są szczególnie kłopotliwe. W dużej mierze zmieniliśmy paletę kolorów w tym wydaniu, zastępując powyższy kontrast pomarańczowo-niebieskim. „
Możesz spojrzeć na ich wykresy.
Możesz także użyć linii przerywanych, przerywanych itp.
źródło
Bardzo mało uwagi poświęcałem „grubości linii” w odniesieniu do właściwej wizualizacji danych. Być może zdolność rozróżniania różnych grubości linii nie jest tak zmienna, jak zdolność rozróżniania kolorów.
Niektóre zasoby:
Niektóre kursy:
źródło
Chociaż zgadzam się, że nie ma unikalnego rozwiązania problemu, korzystam z rekomendacji tego bloga:
http://blogs.nature.com/methagora/2013/07/data-visualization-points-of-view.html
Wpisy na temat kolorów dotyczą problemów związanych z ślepotą kolorów i drukowania w skali szarości i podają przykład skali kolorów, która rozwiązuje oba te problemy.
W tych samych artykułach analizowane są również ciągłe skale kolorów, które są wykorzystywane do wielu wykresów ciepła i tak dalej. Nie zaleca się używania tęczy ze względu na ostre przejścia (takie jak strefa żółta, znacznie mniejsza niż czerwona). Zamiast tego możliwe jest przechodzenie między innymi parami kolorów.
Dobry zestaw kolorów do tego celu to niebieski i pomarańczowy (klasyk!). Możesz wykonać test, stosując filtry niewidoczne w kolorze i filtry szare i sprawdzić, czy nadal zauważysz różnicę.
Jeśli chodzi o grubość linii, niektóre ze wspomnianych wcześniej problemów bloga dotyczą tego punktu. Linie, jeśli masz wiele, powinny mieć tę samą grubość, czyli „cienką”. Używaj grubych linii tylko wtedy, gdy chcesz zwrócić uwagę na ten obiekt.
źródło