Skip to content

Commit e97e1d5

Browse files
committed
Data na vizualizace nahrávat ze souboru
Closes #22
1 parent c99198e commit e97e1d5

File tree

2 files changed

+52
-29
lines changed

2 files changed

+52
-29
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2019-03-01,746
2+
2019-03-02,52
3+
2019-03-03,-749
4+
2019-03-04,-63
5+
2019-03-05,71
6+
2019-03-06,958
7+
2019-03-07,157
8+
2019-03-08,-1223
9+
2019-03-09,-1509
10+
2019-03-10,-285
11+
2019-03-11,-350
12+
2019-03-12,728
13+
2019-03-13,-260
14+
2019-03-14,809
15+
2019-03-15,-164
16+
2019-03-16,243
17+
2019-03-17,-238
18+
2019-03-18,233
19+
2019-03-19,-646
20+
2019-03-20,-82
21+
2019-03-21,-275
22+
2019-03-22,179
23+
2019-03-23,417
24+
2019-03-24,149
25+
2019-03-25,301
26+
2019-03-26,957
27+
2019-03-27,-711
28+
2019-03-28,376
29+
2019-03-29,421
30+
2019-03-30,-15
31+
2019-03-31,-663

python-pro-data-1/vizualizace/vizualizace.md

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,31 @@ V této lekci si ukážeme, jak zobrazovat různé druhy grafů pomocí modulu `
55

66
Modul `matplotlib` nabízí ohromné množství možností pro vizualizaci dat. My zde probereme jen naprosté základy, aby nám lekce nenarostla to olbřímích rozměrů.
77

8-
```pycon
9-
import matplotlib.pyplot as plt
10-
```
11-
12-
Pokud vše proběhlo jak má, můžeme vyzkoušet zobrazit naše první data. Budou to pohyby na bankovním účtu za měsíc březen 2019.
13-
14-
```pycon
15-
pohyby = [746, 52, -749, -63, 71, 958, 157, -1223, -1509, -285, -350, 728, -260, 809, -164, 243, -238, 233, -646, -82, -275, 179, 417, 149, 301, 957, -711, 376, 421, -15, -663]
16-
```
17-
18-
Z těchto dat si vyrobíme Pandas sérii. Abychom byli co nejpoctivější, vyrobíme si index naší série jako objekty typu `date`
19-
20-
```pycon
8+
```py
219
import pandas
22-
import datetime
23-
datumy = []
24-
for day in range(1, 32):
25-
datumy.append(datetime.date(2019, 3, day))
26-
ucet = pandas.Series(pohyby, index=datumy)
27-
```
10+
import matplotlib.pyplot as plt
2811

29-
Nyní vyzkoušíme zobrazit přírůstky jako graf. Stačí napsat
12+
url = "https://kodim.cz/cms/assets/kurzy/python-data-1/python-pro-data-1/vizualizace/ucet.csv"
13+
ucet = pandas.read_csv(url, names=['datum', 'pohyb'], index_col='datum')
14+
print(ucet)
3015

31-
```pycon
3216
ucet.plot()
3317
plt.show()
3418
```
3519

20+
* Importujeme si objekt `pyplot` z knihovny `matplotlib` a pojmenujeme si ho jako `plt`
21+
* Použijeme funkci `pandas.read_csv()`, kterou si necháme data stáhnout rovnou z internetu
22+
* Protože CSV soubor nemá hlavičku, musíme si sloupce sami pojmenovat a určit, který bude DataFrame index
23+
* Necháme si DataFrame vykreslit do podoby grafu
24+
* Obrázek s grafem si zobrazíme
25+
26+
Mělo by se vám otevřít nové okno s následujícím obrázkem
27+
3628
::fig[Graf pohybů]{src=assets/prirustky.png}
3729

3830
Užitečnější by mohlo být zobrazit graf zůstatků
3931

40-
```pycon
32+
```py
4133
ucet.cumsum().plot()
4234
plt.show()
4335
```
@@ -46,7 +38,7 @@ plt.show()
4638

4739
Nyní si s grafem můžeme vyhrát podle chuti a nastavit jeho vzezření přesně tak, jak potřebujeme. Metoda `plot` na sériích obsahuje nepřeberné možnosti nastavení. Například takto vyrobíme z pohybů na účtu sloupcový graf s mřížkou ve žluté barvě.
4840

49-
```pycon
41+
```py
5042
ucet.plot(kind='bar', color='yellow', grid=True)
5143
plt.show()
5244
```
@@ -73,7 +65,7 @@ Výběr vhodného typu vizualizace se odvíjí od toho, jaká data zobrazujeme.
7365

7466
Histogram je důležitý typ grafu, který nám umožňuje zobrazit četnost hodnot z nějakého datasetu. Následující seznam obsahuje výšku 64 náhodných mužů v České republice, měřeno v centimetrech.
7567

76-
```pycon
68+
```py
7769
muzi = pandas.Series([
7870
179.3, 183.7, 181.4, 176.0, 183.6, 184.7, 163.4, 180.3,
7971
167.5, 166.8, 173.5, 172.5, 173.0, 177.6, 176.0, 179.5,
@@ -88,7 +80,7 @@ muzi = pandas.Series([
8880

8981
Pomocí histogramu zobrazíme četnosti jednotlivých hodnot.
9082

91-
```pycon
83+
```py
9284
muzi.hist()
9385
plt.show()
9486
```
@@ -97,7 +89,7 @@ plt.show()
9789

9890
Histogram si pro přehlednost můžeme rozdělit do <term cs="přihrádek" en="bins"> po pěti centimetrech
9991

100-
```pycon
92+
```py
10193
muzi.hist(bins=[
10294
150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210
10395
])
@@ -110,7 +102,7 @@ plt.show()
110102

111103
Krabicový graf graficky znázorňuje medián a kvartily naměřených hodnot. Můžeme si jej vyzkoušet na výškách mužů.
112104

113-
```pycon
105+
```py
114106
muzi.plot(kind='box', whis=[0, 100])
115107
plt.show()
116108
```
@@ -119,7 +111,7 @@ plt.show()
119111

120112
Krabicové grafy jsou užitečné především pro porovnání dvou různých měření. Přidejme si druhou datovou sadu představující naměřené výšky žen
121113

122-
```pycon
114+
```py
123115
zeny = pandas.Series([
124116
172.0, 169.0, 166.8, 164.6, 172.7, 171.5, 167.0, 167.0,
125117
168.3, 184.7, 166.0, 160.0, 168.8, 165.8, 173.5, 163.0,
@@ -134,7 +126,7 @@ zeny = pandas.Series([
134126

135127
Nyní chceme zobrazit krabicový graf porovnávající výšky obou pohlaví. K tomu si z našich sérií vyrobíme DataFrame.
136128

137-
```pycon
129+
```py
138130
vysky = muzi.to_frame(name='muži')
139131
vysky['ženy'] = zeny
140132
vysky.plot(kind='box', whis=[0, 100])

0 commit comments

Comments
 (0)