# Wizualizacja danych

## Prowadzący
##### prof. UAM dr hab. Tomasz Górecki, Zakład Statystyki Matematycznej i Analizy Danych ####

**E-mail**: tomasz.gorecki@amu.edu.pl

**WWW**: http://drizzt.home.amu.edu.pl/

**Dyżury**: wtorek (12.00-13.00); czwartek (10.00-11.00)

## Literatura 
1.	Beeley, C. (2018). Web Application Development with R Using Shiny: Build stunning graphics and interactive data visualizations to deliver cutting-edge analytics. Packt Publishing.
2.	Biecek, P. (2016). Odkrywać! Ujawniać! Objaśniać! Zbiór esejów o sztuce prezentowania danych. Fundacja Naukowa SmarterPoland.
3.	Chang, W. (2018). R Graphics Cookbook: Practical Recipes for Visualizing Data. O'Reilly Media.
4.	Healy, K. (2018). Data Visualization: A Practical Introduction. Princeton University Press.
5.	Sievert, C. (2020). Interactive Web-Based Data Visualization with R, plotly, and shiny. Chapman and Hall/CRC.
6.	Unwin, A. (2015). Graphical Data Analysis with R. Chapman and Hall/CRC.
7.	Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer.

## Harmonogram zajęć

1.	Omówienie organizacji zajęć i zasad zaliczenia + Lab1
2.	Podział na grupy projektowe (dwuosobowe) + Lab1
3.	Lab2
4.	Lab2 
5.	Projekt 1 – prezentacje tematów Projektu 1 (3 minuty na grupę), praca nad projektem
6.	Projekt 1 – prezentacje projektów (8 minut na grupę)
7.	Lab3
8.	Lab3
9.	Lab4
10.	Projekt 2 – prezentacje tematów Projektu 2 (3 minuty na grupę), praca nad projektem
11.	Projekt 2 – prezentacje projektów (8 minut na grupę)
12.	Lab5
13.	Lab5
14.	Projekt 3 – prezentacje tematów Projektu 3 (3 minuty na grupę), praca nad projektem
15.	Projekt 3 – prezentacje projektów (8 minut na grupę)

## Zawartość laboratoriów

- Lab1 – podstawowa biblioteka graficzna (Zajęcia 1-2, 5, 6)
- Lab2 – biblioteka ggplot2 (Zajęcia 3-6)
- Lab3 – wykresy interaktywne (Zajęcia 7-8, 10, 11)
- Lab4 – mapy (Zajęcia 9-11)
- Lab5 – biblioteka shiny (Zajęcia 12-15)

## Grupy projektowe
### Studia stacjonarne

- Grupa 1: Sebastian Piotrowski, Jakub Henyk
- Grupa 2: Aleksandra Serba, Marcin Czerniak
- Grupa 3: Łukasz Koziej, Dudziak Michał
- Grupa 4: Patrk Kaszuba, Jesika Sosnowska
- Grupa 5: Lewicki Paweł, Nicol Radwan
- Grupa 6: Grzegorz Gapiński, Wiktor Bombola
- Grupa 7: Witlod Woch, Wojciech Lidwin
- Grupa 8: Maurycy Oprus, Mikołaj Mrożewski
- Grupa 9: Filip Patyk, Jakub Zaręba
- Grupa 10: Yevhenii Poliakov, Konrad Pierzyński

### Studia niestacjonarne
- Grupa 1: Maciej Tyczyński, Wojciech Bałtruszewicz
- Grupa 2: Mikołaj Perz, Tomasz Koszarek
- Grupa 3: Piotr Wrzodak, Klaudia Marciniak
- Grupa 4: Patrk Gałka, Patryk Łukasiewicz
- Grupa 5: Jan Świątek, Natalia Szymczyk
- Grupa 6: Piotr Pawlak, Marcin Rostkowski
- Grupa 7: Marek Moryl, Mateusz Kuc
- Grupa 8: Kamil Borowiec, Michał Kaleta
- Grupa 9: Norbert Walkowiak, Jakub Rychel, Wojciech Mikołajski

## Tematy projektów

- Projekt 1: Przygotowanie wizualnej analizy danych z wykorzystaniem podstawowej biblioteki graficznej R (ewentualnie Python) i/lub biblioteki ggplot2 (30%)
- Projekt 2: Przygotowanie wizualnej analizy danych z wykorzystaniem wykresów interaktywnych i map (30%)
- Projekt 3: Przygotowanie dashboardu z wykorzystaniem biblioteki shiny (40%)

## Warunki zaliczenia

- bardzo dobry od 92% punktów 
- dobry plus od 84% punktów
- dobry od 76% punktów
- dostateczny plus od 68% punktów
- dostateczny od 60% punktów
- niedostateczny poniżej 60% punktów

## Projekt 1

### Inspiracje
1. https://www.data-to-viz.com/story/OneNumOneCat.html
2. https://ivelasq.rbind.io/blog/other-geoms/
3. https://twitter.com/Datawrapper/status/1022837827082641409/photo/1
4. https://softwareconnect.com/data-visualization-tools/datawrapper/
5. https://www.data-to-viz.com/graph/arc.html
6. https://www.data-to-viz.com/graph/sankey.html
7. https://www.data-to-viz.com/graph/chord.html
8. https://en.wikipedia.org/wiki/Lists_of_earthquakes#/media/File:USGS_magnitude_8_earthquakes_since_1900.svg

### Wymagania
- Grafiki statyczne wykonane za pomocą biblioteki **ggplot2** lub biblioteki **graphics**.
- Ciekawy zbiór danych (nie będący elementem pakietów R)!
- Seria prostych wizualizacji pokazujących różne aspekty zbioru danych lub jedna skomplikowna wizualizacja pokazujące te aspekty na jednym obrazku.

## Projekt 2

### Inspiracje
1. https://rgeomatic.hypotheses.org/842
2. https://www.facebook.com/SimonGerman600
3. https://upgo.lab.mcgill.ca/2019/12/13/making-beautiful-maps/
4. https://medium.com/fastah-project/a-quick-start-to-maps-in-r-b9f221f44ff3

### Wymagania
- Grafiki interaktywne wykonane za pomocą biblioteki **plotly** (nie może to być transofrmacja grafiki wykonanej za pomocą **ggplot2** i funkcji *ggplotly()*) lub biblioteki **highcharter** (możliwe też inne, ale niechętnie).
- Mapa wykonana z wykorzystaniem biblitoek **ggplot2** i **sf** (mile widziane też inne, zwłaszcza biblioteki pokazujące mapy Google).
- Ciekawy zbiór danych (nie będący elementem pakietów R), umożliwijący wizualizację zarówno na klasycznych wykresach jak i na mapach.

## Projekt 3

### Inspiracje
1. https://twitter.com/keen_io/status/529767639220908033/photo/1
2. https://www.infocaptor.com/dashboard-gallery
3. https://appsilon.com/journey-from-basic-prototype-to-production-ready-shiny-dashboard/
4. https://divadnojnarg.github.io/images/adminLTE2_dashboard.png
5. https://nycdsa-blog-files.s3.us-east-2.amazonaws.com/2016/02/SPM_SalaryScatterPlot.png
6. https://gallery.shinyapps.io/nz-trade-dash/?_ga=2.244859141.1601395618.1623253920-1037570624.1607089633
7. https://jjohn9000.shinyapps.io/Milwaukee_Beer_App/
8. https://appsilon.com/5-great-shiny-dashboards/
9. http://atlas2022.uw.edu.pl/materialy-edukacyjne/mapy/

### Wymagania
- Dashboard zawierający grafiki oraz prezentacje liczbowe.
- Elementem graficznym mogą być wykresy statyczne, dynamiczne lub mapy.
- Prezentacje parametrów liczbowych powinny być przedstawione w sposób możliwie jak najbardziej graficzny (np. liczniki).
- Użytkonik powinienie mieć możliwość częćiowego sterowania (np. wybór kraju, zmiennej/zmiennych).
- Można rozważyć pobranie danych z pliku jako element aplikacji. Podobnie można na dasboardzie umieścić grafiki pobrane np. z Internetu (np. logo firmy).
- Na osobnej zakładce powinny być przedstawione dane z których został wykonany dashboard.
