- Co je Python Matplotlib?
- Typy grafů, které můžeme sestrojit, jako sloupcový graf, histogram, bodový graf, plošný graf a graf Pe
- Práce s více grafy
- Některé alternativy pro Python Matplotlib
Co je Python Matplotlib?
Matplotlib.pyplot je balíček pro vykreslování grafů, který lze použít ke konstrukci 2-dimenzionální grafiky pomocí programovacího jazyka Python. Vzhledem ke své zásuvné povaze lze tento balíček použít v libovolných aplikacích GUI, webových aplikačních serverech nebo jednoduchých skriptech Pythonu. Některé sady nástrojů, které rozšiřují funkčnost Pythonu Matplotlib, jsou:
- Základní mapa je knihovna pro vykreslování map, která poskytuje funkce pro vytváření mapových projektů, pobřeží a politických hranic
- Natgrid lze použít k seskupení nepravidelných dat do dat s mezerami
- Excel nástroje lze použít k výměně dat mezi MS Excel a Matplotlib
- Cartopy je mnohem komplexnější mapovací knihovna, která dokonce poskytuje funkce transformace obrazu kromě projekcí bodů, čar a mnohoúhelníků
Před spuštěním je třeba poznamenat, že pro tuto lekci používáme virtuální prostředí, které jsme vytvořili pomocí následujícího příkazu:
python -m virtualenv matplotlibzdroj matplotlib / bin / aktivovat
Jakmile je virtuální prostředí aktivní, můžeme do virtuálního env nainstalovat knihovnu matplotlib, aby bylo možné provést příklady, které vytvoříme dále:
pip nainstalujte matplotlibVidíme něco takového, když provedeme výše uvedený příkaz:
Anacondu můžete také použít ke spuštění těchto příkladů, což je jednodušší. Chcete-li jej nainstalovat na svůj počítač, podívejte se na lekci, která popisuje „Jak nainstalovat Anaconda Python na Ubuntu 18.04 LTS ”a podělte se o svůj názor. Nyní přejdeme k různým typům grafů, které lze sestavit pomocí Python Matplotlib.
Druhy pozemků
Zde předvádíme typy grafů, které lze vykreslit pomocí Pythonu Matplotlib.
Jednoduchý graf
První příklad, který uvidíme, bude jednoduchý grafový graf. Tento příklad slouží jako ukázka toho, jak jednoduché je sestrojit graf grafu spolu s jednoduchými přizpůsobeními, která s ním přicházejí. Začneme importem matplotlib a definováním souřadnic x a y, které chceme vykreslit:
z matplotlib importovat pyplot jako pltx = [3, 6, 9]
y = [2, 4, 6]
Poté můžeme tyto souřadnice vykreslit do grafu a ukázat je:
plt.spiknutí (x, y)plt.ukázat()
Když to spustíme, uvidíme následující graf:
S pouhými několika řádky kódu jsme dokázali vykreslit graf. Přidáme několik přizpůsobení, aby byl tento graf trochu expresivnější:
plt.ylabel ('Y axis')
plt.xlabel ('X axis')
Přidejte výše uvedené řádky kódu těsně před zobrazením grafu a graf bude mít štítky:
Dáme ještě jeden pokus o přizpůsobení tohoto grafu, aby byl intuitivní pomocí následujících řádků kódu, než ukážeme graf:
x1 = [3, 6, 9]y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.název ('Info')
plt.ylabel ('Y axis')
plt.xlabel ('X axis')
plt.plot (x1, y1, 'g', label = 'Quarter 1', linewidth = 5)
plt.plot (x2, y2, 'r', label = 'Quarter 2', linewidth = 5)
plt.legenda()
plt.mřížka (True, color = 'k')
plt.ukázat()
Po spuštění výše uvedeného fragmentu kódu uvidíme následující graf:
Všimněte si, čím jsme začali a čím jsme skončili, velmi intuitivní a atraktivní graf, který můžete použít ve svých prezentacích a je vytvořen s čistým kódem Pythonu, na co byste měli být hrdí !
Vytvoření sloupcového grafu
Sloupcový graf je zvláště užitečný, když chceme vytvořit platformu pro srovnání s konkrétními a omezenými měřítky. Dobrým příkladem je například srovnání průměrných známek studentů s jedním předmětem. Vytvořme zde sloupcový graf pro stejný případ použití, fragment kódu pro toto bude:
avg_marks = [81, 92, 55, 79]fyzika = [68, 77, 62, 74]
plt.lišta ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "průměr", šířka =.5)
plt.bar([.75, 1.75, 2.75, 3.75], fyzika, štítek = "Fyzika", barva = 'r', šířka =.5)
plt.legenda()
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.název („Srovnání“)
plt.ukázat()
Sloupcový graf vytvořený s výše uvedenými ukázkovými daty bude vypadat takto:
Existuje několik pruhů, které zde slouží k porovnání. Vezměte prosím na vědomí, že jsme jako první parametry zadali šířku každé lišty a lišta je posunuta o 0.5 hodnot z předchozí.
Můžeme kombinovat tuto konstrukci sloupcového grafu s knihovnou Pandas, abychom si ji více přizpůsobili, ale budeme ji pokrýt v jiné lekci o Pandas.
Distribuce s histogramy
Histogramy jsou často zaměňovány s pruhovými grafy. Nejzákladnější rozdíl spočívá v jejich případu použití. Sloupcové grafy se používají k vytvoření srovnání dat, zatímco histogramy se používají k popisu distribuce dat.
Například použijeme příklad pro studentské známky znovu, ale tentokrát se podíváme pouze na průměrné známky studentů a podíváme se, jak jsou distribuovány. Zde je fragment kódu, velmi podobný předchozímu příkladu:
koše = [0,10,20,30,40,50,60,70,80,90,100]avg_marks = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (avg_marks, bins, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.název („Srovnání“)
plt.ukázat()
Histogram vytvořený s výše uvedenými ukázkovými daty bude vypadat takto:
Osa Y zde ukazuje, že kolik studentů získalo stejné známky, které byly poskytnuty jako údaje pro konstrukci.
Vytvoření bodového grafu
Pokud jde o porovnání více proměnných a stanovení jejich vzájemného vlivu, Scatter plot je dobrý způsob, jak prezentovat stejné. V tomto jsou data reprezentována jako body s hodnotou jedné proměnné odrážené vodorovnou osou a hodnota druhé proměnné určuje polohu bodu na svislé ose.
Podívejme se na jednoduchý fragment kódu, který to samé popisuje:
x = [1,1.5,2,2.5,3,3.5,3.6]y = [75,8,85,9,95,10,75]
x1 = [8,8.5,9,9.5,10,10.5,11]
y1 = [3,35,3.7,4,45,5,52]
plt.scatter (x, y, label = '10 nejlépe hodnocených studentů ', color =' r ')
plt.scatter (x1, y1, label = '10 low scoring students ', color =' b ')
plt.xlabel ('Marks')
plt.ylabel ('Počet studentů')
plt.název ('Scatter Plot')
plt.legenda()
plt.ukázat()
Bodový graf vytvořený pomocí výše uvedených ukázkových dat bude vypadat takto:
Plošné pozemky
Plošné grafy se používají hlavně ke sledování změn dat v průběhu času. V různých textech se také označují jako zásobní obrázky. Například pokud chceme vytvořit reprezentaci času investovaného studentem do každého předmětu za jediný den, zde je kód, pomocí kterého můžeme udělat totéž:
dny = [1,2,3,4,5]fyzika = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matematika = [8,5,7,8,13]
plt.plot ([], [], color = 'm', label = 'Physics', linewidth = 5)
plt.plot ([], [], color = 'c', label = 'Python', linewidth = 5)
plt.plot ([], [], color = 'r', label = 'R', šířka řádku = 5)
plt.plot ([], [], color = 'k', label = 'Math', linewidth = 5)
plt.stackplot (dny, fyzika, python, r, matematika, barvy = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.název ('Stack Plot')
plt.legenda()
plt.ukázat()
Plošný graf vytvořený pomocí výše uvedených ukázkových dat bude vypadat takto:
Výše uvedený výstup jasně stanoví rozdíl v čase stráveném studentem v každém předmětu a jasným způsobem poskytuje rozdíl a distribuci.
Výsečové grafy
Když chceme rozdělit celou část na více částí a popsat množství, které každá část zabírá, je koláčový graf dobrým způsobem, jak tuto prezentaci. Slouží k zobrazení procenta dat v úplné sadě dat. Zde je základní fragment kódu pro vytvoření jednoduchého výsečového grafu:
labels = 'Python', 'C ++', 'Ruby', 'Java'velikosti = [225, 130, 245, 210]
colors = ['r', 'b', 'g', 'c']
explodovat = (0.1, 0, 0, 0) # explodovat 1. řez
# Spiknutí
plt.koláč (velikosti, explodovat = explodovat, štítky = štítky, barvy = barvy,
autopct = '% 1.1f %% ', shadow = True, startangle = 140)
plt.osa („stejná“)
plt.ukázat()
Výsečový graf vytvořený s výše uvedenými ukázkovými daty bude vypadat takto:
Ve výše uvedených částech jsme se podívali na různé grafické komponenty, které můžeme zkonstruovat pomocí knihovny Matplotlib tak, aby reprezentovala naše data v různých formách a intuitivně stanovovala rozdíly, přičemž byla statistická.
Vlastnosti a alternativy pro Matplotlib
Jednou z nejlepších funkcí matplotlib je, že může pracovat na mnoha operačních systémech a grafických backendech. Podporuje desítky operačních systémů a grafický výstup, na které jsme se v této lekci podívali. To znamená, že se na něj můžeme spolehnout, pokud jde o poskytování výstupu způsobem, který potřebujeme.
Existuje mnoho dalších knihoven, které mohou konkurovat matplotlib jako:
- Seahorn
- Spiknutí
- Ggplot2
I když výše zmíněné knihovny mohou představovat některé pokročilé způsoby, jak graficky popsat a prezentovat data, v jednoduchosti a efektivní povaze knihovny matplotlib nelze popřít.
Závěr
V této lekci jsme se podívali na různé aspekty této knihovny vizualizace dat, kterou můžeme pomocí Pythonu použít ke generování krásných a intuitivních grafů, které dokážou vizualizovat data ve formě, kterou chce podnik z platformy. Matplotlib je jednou z nejdůležitějších vizualizačních knihoven, pokud jde o datové inženýrství a prezentaci dat ve většině vizuálních forem, což je určitě dovednost, kterou musíme mít pod opaskem.
Sdělte nám svůj názor na lekci na Twitteru s @sbmaggarwal a @LinuxHint.