Mapy dwuwymiarowe w Tableau

Na pewno nie raz spotkaliście się z problemem pokazania dwóch różnych zmiennych na mapie - problem ten dotyka zmiennych ciągłych jak i kategorycznych. Jak przedstawić je w sposób czytelny, aby korelacja (lub jej brak) była widoczna? Stosowanie dwóch map obok siebie nie jest najlepszym pomysłem - nie chcemy aby odbiorca musiał non stop skakać wzrokiem pomiędzy mapami. 


Rozwiązanie, czyli mapy dwuwymiarowe (bivariate maps), znowu okazuje się proste w teorii, a bardziej skomplikowane w praktyce, czyli w Tableau. Są oczywiście pewne ogarniczenia - możemy w zasadzie używać tylko zmiennych kategorycznych/dyskretnych. Przy zmiennych ciągłych musimy je pogrupować (co i ja zrobiłem w moim przykładzie).

Załóżmy, że chcemy pokazać związek pomiędzy ceną biletu do kina, a ilością sprzedanych biletów. Łatwo to zrobić na dwóch mapach, wrzucając po prostu każdą ze zmiennych (ciągłych) na inną mapę.


Takie rozwiązanie nie wygląda źle, jednak bardzo ciężko jest zidentyfikować, jak wygląda relacja ceny biletu a frekwencji. Zamysłem mapy dwuwymiarowej jest nałożenie na siebie powyższych map, miksując kolory tak, aby były one zrozumiałe dla odbiorcy.

Kliknij aby przejść do Tableau Public

Obie mapy korzystają tak naprawdę z tej samej legendy - turkusowy dla frekwncji, oraz pomarańczowy dla ceny biletu. W drugim przykładzie dodatkowo pojawiają się kolory będące wypadkową powyższych.

Jak pisałem we wstępie - stworzenie takiej mapy w Tableau wymaga od nas dwóch zmiennych kategorycznych. Jako, że dane pierwotne to dane ciągłe, musimy stworzyć koszyki. Możemy to zrobić korzystając z funkcji w Tableau (klikamy na zmienną prawym klawiszem > Create > Bins), lub ręcznie (pisząc pole kalkulowane). Z racji tego, że korzystam z danych z wielu lat, nie mogłem ustalić stałych granic pomiędzy kategoriami. Zamiast tego użyłem percentyli - nie jest to najbardziej fortunne rozwiązanie, ale w tym przypadku wystarczy.

Dla drugiej zmiennej tworzymy analogiczne pole. Funkcja, której używamy jest table calculation, dlatego musimy również odpowiednio sformatować jej partycję na wykresie (biorąc pod uwagę nie tylko ragion, ale również rok - chociaż przy korzystaniu z filtra to ostatnie nie jest potrzebne).

Bazując na tych kalkulacjach możemy stworzyć nasze koszyki.


Aby użyć obu koszyków jako koloru możemy stworzyć pole kalkulowane dokonujące konkatenacji tekstu, lub po prostu użyc obu koszyków na wykresie. Używanie dwóch pól (ale tylko dyskretnych) do sterowania kolorem to ukryta funkcja Tableau. Aby to osiągnąć, wciągamy pierwsze pole normalnie na kolor, drugie na detal, i zmienamy typ drugiego na kolor. Jednak pierwsze rozwiązanie zapewnia nam lepszą kontrolę na wyświetlanym testem i ułatwia ustawianie legendy.

Na tym etapie mamy juz gotową mapę, jednak przydałby się klucz do jej czytania. Jako, że nasze koszyki bazują na table calculation to nie możemy z ich pomocą stworzyć wykresu, który posłuży za legendę. Ominąłem ten problem tworząc mały .xls i używając go jako drugiego źródła danych.


Niestety tutaj znowu powraca problem użycia table calculations - nie możemy zblendować ani zjoinować naszych źródeł danych. Także, niestety, nie możemy stworzyć highlightów pomiędzy nimi. Wielka szkoda, bo na pewno ułatwiłoby to czytanie mapy.

Co do użytych kolorów - w internecie jest kilka palet dla map dwuwymiarowych (wystarczy poszukać), jednak żadna nie przypadła mi do gustu. Skorzystałem więc z generatora uniwersytetu Oregon State. Duży plus jest taki, że możemy ustalić liczbę pól, z ktorych korzystamy. Z taką paletą możnaby spróbować zemulować wymiar ciągły.

Komentarze

Popularne posty z tego bloga

SprytneSztuczki#1 - 9 sprytnych funkcji Tableau, które ułatwią Ci życie

Praktyczne użycie kolorów w wizualizacji danych

Recenzja: Edward Tufte - The Visual Display of Quantitative Information