|
|
1 year ago | |
|---|---|---|
| .. | ||
| solution | 1 year ago | |
| starter | 1 year ago | |
| README.md | 1 year ago | |
| assignment.md | 1 year ago | |
README.md
Tworzenie Znaczących Wizualizacji
![]() |
|---|
| Znaczące Wizualizacje - Sketchnote by @nitya |
"Jeśli wystarczająco długo torturujesz dane, wyznają wszystko" -- Ronald Coase
Jedną z podstawowych umiejętności data scientistów jest zdolność do tworzenia znaczących wizualizacji danych, które pomagają odpowiadać na pytania. Przed wizualizacją danych należy upewnić się, że zostały one oczyszczone i przygotowane, jak to miało miejsce w poprzednich lekcjach. Dopiero wtedy można zacząć decydować, jak najlepiej je zaprezentować.
W tej lekcji omówisz:
- Jak wybrać odpowiedni typ wykresu
- Jak unikać zwodniczych wykresów
- Jak pracować z kolorem
- Jak stylizować wykresy dla czytelności
- Jak tworzyć animowane lub trójwymiarowe rozwiązania wizualizacyjne
- Jak budować kreatywne wizualizacje
Quiz przed lekcją
Wybierz odpowiedni typ wykresu
W poprzednich lekcjach eksperymentowałeś z tworzeniem różnych interesujących wizualizacji danych za pomocą Matplotlib i Seaborn. Ogólnie rzecz biorąc, możesz wybrać odpowiedni typ wykresu dla pytania, które zadajesz, korzystając z tej tabeli:
| Potrzebujesz: | Powinieneś użyć: |
|---|---|
| Pokazać trendy danych w czasie | Liniowy |
| Porównać kategorie | Słupkowy, Kołowy |
| Porównać sumy | Kołowy, Słupkowy warstwowy |
| Pokazać relacje | Punktowy, Liniowy, Facet, Podwójny liniowy |
| Pokazać rozkłady | Punktowy, Histogram, Box |
| Pokazać proporcje | Kołowy, Donut, Waffle |
✅ W zależności od struktury danych, może być konieczne przekształcenie ich z tekstowych na numeryczne, aby dany wykres mógł je obsłużyć.
Unikaj zwodzenia
Nawet jeśli data scientist starannie wybierze odpowiedni wykres dla odpowiednich danych, istnieje wiele sposobów, w jakie dane mogą być przedstawione w sposób wspierający określony punkt widzenia, często kosztem podważenia samych danych. Istnieje wiele przykładów zwodniczych wykresów i infografik!
🎥 Kliknij obrazek powyżej, aby obejrzeć konferencyjną prezentację o zwodniczych wykresach
Ten wykres odwraca oś X, aby pokazać coś przeciwnego do prawdy, bazując na dacie:
Ten wykres jest jeszcze bardziej zwodniczy, ponieważ wzrok kieruje się na prawo, aby wyciągnąć wniosek, że z czasem liczba przypadków COVID spadła w różnych hrabstwach. W rzeczywistości, jeśli przyjrzysz się datom, zauważysz, że zostały one przestawione, aby stworzyć ten zwodniczy trend spadkowy.
Ten słynny przykład używa koloru ORAZ odwróconej osi Y, aby zwodzić: zamiast wyciągać wniosek, że liczba zgonów z broni palnej wzrosła po uchwaleniu przyjaznych dla broni przepisów, wzrok zostaje oszukany, aby myśleć, że stało się odwrotnie:
Ten dziwny wykres pokazuje, jak proporcje mogą być manipulowane, z zabawnym efektem:
Porównywanie rzeczy nieporównywalnych to kolejny podejrzany trik. Istnieje wspaniała strona internetowa poświęcona 'fałszywym korelacjom', pokazująca 'fakty' korelujące takie rzeczy jak wskaźnik rozwodów w Maine i spożycie margaryny. Grupa na Reddit również zbiera brzydkie użycia danych.
Ważne jest, aby zrozumieć, jak łatwo wzrok może zostać oszukany przez zwodnicze wykresy. Nawet jeśli intencje data scientist są dobre, wybór złego typu wykresu, takiego jak wykres kołowy pokazujący zbyt wiele kategorii, może być zwodniczy.
Kolor
Na wykresie 'przemoc z użyciem broni w Florydzie' powyżej widziałeś, jak kolor może dodać dodatkową warstwę znaczenia do wykresów, szczególnie tych, które nie zostały zaprojektowane przy użyciu bibliotek takich jak Matplotlib i Seaborn, które oferują różne sprawdzone biblioteki kolorów i palety. Jeśli tworzysz wykres ręcznie, warto zapoznać się z teorią kolorów.
✅ Pamiętaj, projektując wykresy, że dostępność jest ważnym aspektem wizualizacji. Niektórzy użytkownicy mogą być daltonistami - czy Twój wykres jest czytelny dla osób z wadami wzroku?
Bądź ostrożny przy wyborze kolorów dla swojego wykresu, ponieważ kolor może przekazywać znaczenie, którego nie zamierzasz. 'Różowe panie' na wykresie 'wzrostu' powyżej przekazują wyraźnie 'kobiece' przypisane znaczenie, które dodaje do dziwaczności samego wykresu.
Podczas gdy znaczenie kolorów może być różne w różnych częściach świata i zmieniać się w zależności od odcienia, ogólnie rzecz biorąc, znaczenia kolorów obejmują:
| Kolor | Znaczenie |
|---|---|
| czerwony | siła |
| niebieski | zaufanie, lojalność |
| żółty | szczęście, ostrożność |
| zielony | ekologia, szczęście, zazdrość |
| fioletowy | szczęście |
| pomarańczowy | energia |
Jeśli masz za zadanie stworzyć wykres z niestandardowymi kolorami, upewnij się, że Twoje wykresy są zarówno dostępne, jak i że kolor, który wybierasz, odpowiada znaczeniu, które chcesz przekazać.
Stylizowanie wykresów dla czytelności
Wykresy nie są znaczące, jeśli nie są czytelne! Poświęć chwilę na rozważenie stylizacji szerokości i wysokości wykresu, aby dobrze skalował się z danymi. Jeśli jedna zmienna (np. wszystkie 50 stanów) musi być wyświetlona, pokaż je pionowo na osi Y, jeśli to możliwe, aby uniknąć wykresu przewijanego poziomo.
Oznacz swoje osie, dodaj legendę, jeśli to konieczne, i oferuj podpowiedzi dla lepszego zrozumienia danych.
Jeśli Twoje dane są tekstowe i rozbudowane na osi X, możesz ustawić tekst pod kątem dla lepszej czytelności. Matplotlib oferuje wykresy 3D, jeśli Twoje dane na to pozwalają. Zaawansowane wizualizacje danych można tworzyć za pomocą mpl_toolkits.mplot3d.
Animacja i wyświetlanie wykresów 3D
Niektóre z najlepszych wizualizacji danych dzisiaj są animowane. Shirley Wu stworzyła niesamowite wizualizacje za pomocą D3, takie jak 'film flowers', gdzie każdy kwiat jest wizualizacją filmu. Innym przykładem dla Guardian jest 'bussed out', interaktywne doświadczenie łączące wizualizacje z Greensock i D3 oraz format artykułu typu scrollytelling, aby pokazać, jak NYC radzi sobie z problemem bezdomności, wysyłając ludzi poza miasto.
"Bussed Out: Jak Ameryka przenosi swoich bezdomnych" od Guardian. Wizualizacje autorstwa Nadieh Bremer & Shirley Wu
Chociaż ta lekcja nie jest wystarczająca, aby szczegółowo nauczyć tych potężnych bibliotek wizualizacyjnych, spróbuj swoich sił w D3 w aplikacji Vue.js, używając biblioteki do wyświetlenia wizualizacji książki "Niebezpieczne związki" jako animowanej sieci społecznej.
"Les Liaisons Dangereuses" to powieść epistolarna, czyli powieść przedstawiona jako seria listów. Napisana w 1782 roku przez Choderlos de Laclos, opowiada historię okrutnych, moralnie zbankrutowanych manewrów społecznych dwóch rywalizujących protagonistów francuskiej arystokracji z końca XVIII wieku, Wicehrabiego de Valmont i Markizy de Merteuil. Oboje spotykają swój koniec, ale nie bez wyrządzenia dużych szkód społecznych. Powieść rozwija się jako seria listów pisanych do różnych osób w ich kręgach, planując zemstę lub po prostu sprawiając kłopoty. Stwórz wizualizację tych listów, aby odkryć głównych bohaterów narracji, wizualnie.
Ukończysz aplikację internetową, która wyświetli animowany widok tej sieci społecznej. Korzysta ona z biblioteki stworzonej do wizualizacji sieci za pomocą Vue.js i D3. Gdy aplikacja działa, możesz przeciągać węzły na ekranie, aby przemieszczać dane.
Projekt: Stwórz wykres pokazujący sieć za pomocą D3.js
W folderze lekcji znajduje się folder
solution, w którym możesz znaleźć ukończony projekt jako odniesienie.
-
Postępuj zgodnie z instrukcjami w pliku README.md w folderze głównym startera. Upewnij się, że masz zainstalowane NPM i Node.js na swoim komputerze przed instalacją zależności projektu.
-
Otwórz folder
starter/src. Znajdziesz tam folderassets, w którym znajduje się plik .json z wszystkimi listami z powieści, ponumerowanymi, z adnotacjami 'do' i 'od'. -
Uzupełnij kod w
components/Nodes.vue, aby umożliwić wizualizację. Poszukaj metody o nazwiecreateLinks()i dodaj następującą pętlę zagnieżdżoną.
Przejdź przez obiekt .json, aby uchwycić dane 'do' i 'od' dla listów i zbudować obiekt links, aby biblioteka wizualizacyjna mogła go wykorzystać:
//loop through letters
let f = 0;
let t = 0;
for (var i = 0; i < letters.length; i++) {
for (var j = 0; j < characters.length; j++) {
if (characters[j] == letters[i].from) {
f = j;
}
if (characters[j] == letters[i].to) {
t = j;
}
}
this.links.push({ sid: f, tid: t });
}
Uruchom swoją aplikację z terminala (npm run serve) i ciesz się wizualizacją!
🚀 Wyzwanie
Przejrzyj internet, aby odkryć zwodnicze wizualizacje. Jak autor oszukuje użytkownika i czy jest to zamierzone? Spróbuj poprawić wizualizacje, aby pokazać, jak powinny wyglądać.
Quiz po lekcji
Przegląd i samodzielna nauka
Oto kilka artykułów do przeczytania o zwodniczych wizualizacjach danych:
https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
Zapoznaj się z tymi interesującymi wizualizacjami historycznych zasobów i artefaktów:
Przejrzyj ten artykuł o tym, jak animacja może poprawić Twoje wizualizacje:
https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
Zadanie
Stwórz własną niestandardową wizualizację
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.








