# Pokročilá vizualizace informace

## Vizualizace dokumentů

- dokumenty jsou primárním zdrojem informací
- snadný přístup: digitální knihovny, webové stránky, ...
- vizualizace může pomoci usnadnit získávání informací z textů a kolekcí dokumentů
- požadavky
	- jaké dokumenty obsahují XYZ?
	- jaké dokumenty jsou pro mne zajímavé?
	- existují dokumenty podobné tomuto?
	- co je skryto v této kolekci dokumentů?
	- jaké jsou spojitosti mezi dokumenty?

**Vyhledávání dokumentů**
- neznáme
	- jak velké je shoda
	- jak často se výraz v dokumentu opakuje
	- kde se nachází
	- délku dokumentu

**Hotmap**
- Hoeber & Yang, 2006  
- barevná sekvence podle četnosti výskytu slova výrazu v dokumentu
	- žlutá až červená
- postranní náhled

**Tilebar**
- Anderson et al., 2002
- dokument rosekán na bloky
- pro každý stanovena četnost výskytu hledaného výrazu
- vizualizace kvantizovaných četností

**Document cards**
- Strobelt et al., 2009
- vizuální reprezentace dokumentu
- klíčové části textu a obrázky extrahovány
- extrahovaný obsah zobrazen v náhledu
- podpora interaktivního procházení

**Tags cloud**
- někdy nevíme, jaká klíčová slova volit
- tags = klíčová slova přiřazená ručně dokumentům, obrázkům, zboží, ...
- seznam tagů souvisejících alespoň s jedním zadaným klíčovým slovem nabídnut uživateli
- nabídka může být seřazena
	- podle četnosti - vyžaduje sekvenční hledání tagu
	- abecedně - chybí četnost
- alternativní vizuální řešení
	- položky seřazeny abecedně
	- velikost písma, tloušťka a barva podle popularity
- může být použit k prozkoumání převažující náplně dokumentů

## Vizualizace pracovních postupů

- vizualizace grafu bez smyček
- uzel = dílčí činnost
- hrana = návaznosti činnosti
- vhodné pro řízení projektů

**Ganttův graf**
- činnosti zobrazeny typicky pod sebou na ose y
- trvání činnosti zobrazeno sloupcem na ose x
- barva sloupce může vystihovat další dimenzi (typ činnosti, barevný kód osoby, ...)
- jednoduše pochopitelný
- nemusí obsahovat dostatek informací pro důležitá rozhodnutí

**Pertův graf**
- graf činností s vyznačením kritické cesty
- kritická cesta = zpoždení činnosti na této cestě povede ke zpoždění celku

**Montážní postupy**
- zvláštní případ pracovního postupu
- manuál obsahuje
	- seznam všech částí
	- vizualizaci tvaru každé části a popisek
	- vztah částí vůči sobě
- vizualizace montážních postupů není jednoduchá
- možné řešení
	- vymodelované 3D objekty
	- exploze objektů tak, aby se nezakrývaly
	- doplnit popisky

## Vícerozměrná data

- datová položka má často mnoho dimenzí
- např.
	- množství cukrů, tuků, vitamínů B12, C, D, E, K
	- počet zaměstnanců firem na pozicích: ...
	- geografická poloha kina, datum, teplota veknu, počet návštěvníků, film, cena vstupenky
- možnosti vizualizace
	- grafem v kartézských souřadnicích po dvojicích
		- projekce dat do 2D prostoru (další 3 dimenze barvou, tvarem, velikostí značek)
		- obvykle potřeba více grafů
		- pro mnoho dimenzí nepřehledné
	- grafem typu radar
		- lze znázornit velké množství dimenzí naráz
		- datová položka určena svým polygonem
		- složitější porovnání nesousedících hodnot
	- grafem v paralelních souřadnicích
		- jednotlivé dimenze zobrazeny vedle sebe
		- datová položka určena lomenou čárou
		- problémy
			- obvykle nezbytné mít různá měřítka
			- anomálie v datech snadno viditelné
			- čitelnost klesá s počtem dimenzí (možno zlepšit např. blendingem)
		- vhodné pro
			- hledání souvislostí ve vícerozměrných datech
			- pochopení důsledků rozhodnutí
		- nevhodné pro ty, kteří graf neumí číst
	- interaktivní tabulkou s informačními čočkami
		- vhodné pro velký počet datových položek
		- maximální počet dimenzí: desítky
		- data uspořádaná do tabulky (dimenze ve sloupcích)
		- vyžaduje interaktivitu
			- vizuální náhledy
			- rozbalení detailů
			- řazení dat podle sloupce
		- číselné hodnoty jako u spoupcového grafu
		- nečíselné hodnoty
			- ignorovat, barevný kód, tilebar
		- anomálie snadno viditelné

## Vizualizace grafů

- mnoho závislostí lze znázornit grafem
- příklady
	- odkud kam tečou data na internetu
	- moji přátelé a přátelé přátel na FB
	- s kým kdo publikoval nějaký článek
	- podrobnosti mezi odevzdanými SP
	- jaké jsou návaznosti slov v textu

**Uzly**
- tvar a velikost prvku
- výplň (barva) prvku
- popisek
- ohodnocení uzlu
	- barva, velikost, popisek
**Hrany**
- barva
- tloušťka čáry
- styl čáry
- popisek
- ohodnocení hrany
	- barva, tloušťka, popisek

**Problémy**
- každý uzel musí být viditelný
- pro každý uzel lze spočítat jeho stupeň
- lze bezpečně sledovat spojnici (nekříží se moc)
- skupiny obdobných dat jsou u sebe
+ neexistuje univerzální řešení

**Kruhové rozložení**
- uzly leží na kružnici
- spojnice uvnitř kružnice
- nejjednodušší možné
- plýtvání místem

**Ortogonální rozložení**
- neprotínající se spojnice pouze ve směru x, y
- snaha minimalizovat počet ohybů spojnice
- vhodné pro zobrazení elektrických obvodů

**Obecné rozložení**
- algoritmický problém

Grafy mohou mít 100 a více uzlů
- obvykle nelze zobrazit vše
- řešení
	- zobrazení po částech
		- zobrazí se jen primární zájem a jeho okolí
		- uživatel může primární zájem měnit
		- lze interaktivně připravit a poté vytisknout
		- nejsou vidět souvislosti
	- shlukování hran
		- hrany vedoucí podobným směrem nahrazeny v části společnou hranou
	- seskupování uzlů
		- příbuzné uzly nahrazeny jedním
		- uživatel může skupinu interaktivně rozbalit
		- souvislosti na vyšší úrovni patrné
	- interaktivní čočka
		- graf zobrazen se všemi uzly v malém měřítku
		- uživatel si část grafu zvětší
		- informace musí být k dispozici i ve zmenšené podobě
			- uzel minimálně 1px
			- méně významné hrany nemusí být viditelné

**Detail vizualizace**
- různé možnosti zvětšení detailu
	- nahrazení obsahu
		- nejjednodušší
		- zobrazím jen vybranou část
		- ztrácí se kontext
	- koordinovaná dvojice
		- zobrazení náhledu celku s vyznačením oblasti zájmu
	- čočka (lupa)
		- náhled na pozadí
		- detail v místě čočky
		- návaznosti ztraceny
	- rybí oko
		- prostor okolo bozdu zájmu zdeformován
		- návaznosti patrné, ale zdeformované

### Hierarchie

- orientovaný graf bez smyček
- do uzlu se lze dostat právě z jednoho jiného uzlu
- rodokmen, adresářová struktura, OOP třídy, ...

**Umožňuje speciální rozložení**
+ vertikální rozložení po úrovních
	- kořen stromu nahoře vlevo
	- uzly stejné úrovně umístěny pod sebou
	- velmi jednoduchá reprezentace, vhodné pro vyhledávání
	- pochopení problematické
- horizontální rozložení po úrovních
	- kořen stromu nahoře
	- uzly stejně daleko od kořene na stejné hotizonální přímce
	- lepší pro pochopení struktury, složitější rozložení
	- **nejjednodušší umisťovací algoritmus**
		1. fáze = pro každý uzel zjisti šířku jeho podstromů
		2. fáze = zobraz uhel, spočitej pozice podstromů, zobraz spojnice, rekurzivně pokračuj
		- problém: šířka roste rychle, není efektivní pro nevyvážené stromy
	- **Reingold-Tilford**
		- sofistikovanější dvoufázový algoritmus
		1. fáze
			- postupuji zdola nahoru, posouvám uzel pravého podstromu doleva
			- rodič vycentrován nad děti
		2. fáze
			- postupuji shora dolů
			- zobrazuji uzly dle vypočítaného posunu
+ **TreeMap**
	- uzlům stromu přiřazena číselná hodnota
	- uzly vyplní celý prostor
	- velikost uzlu dána přirozenou číselnou hodnotou
	- snadno rozšiřitelné (různé barvy, interaktivita, další dimenze)