A Python Package Index gyakorlatilag minden adatvizualizációs igényhez tartalmaz könyvtárakat – a Pastalogtól a neurális hálózatok képzésének valós idejű vizualizálásához a Gaze Parserig a szemmozgás kutatásához. E könyvtárak némelyike az alkalmazási területtől függetlenül használható, sok közülük azonban intenzíven összpontosít egy adott feladat elvégzésére.
A 11 interdiszciplináris Python adatvizualizációs könyvtár áttekintése következik, a legnépszerűbbektől a legkevésbé népszerűekig.
Matplotlib
A Matplotlib Python könyvtár egyszerű, de hatékony vizualizációk létrehozására szolgál. Több mint egy évtizedes múltra tekint vissza, és a Python közösségben ez a legelterjedtebb plotting könyvtár. A Matplotlib a grafikonok széles skáláját ábrázolja – a hisztogramoktól a hődiagramokig.
A Matplotlob az első Python adatvizualizációs könyvtár, ezért sok más könyvtár a Matplotlib-re épül, és úgy tervezték, hogy az elemzéssel együtt működjön. Az olyan könyvtárak, mint a pandas és a matplotlib “wrapperek” a Matplotlib felett, amelyek lehetővé teszik a Matplotlib számos módszerének elérését kevesebb kóddal.
A Matplotlib sokoldalúságával olyan vizualizációs típusok készíthetők, mint pl:
- Scatter plots
- Bar diagramok és hisztogramok
- Line plots
- Pie charts
- Stem plots
- Contour plots
- Quiver plots
- Spectrograms
Rácsokat, címkéket, legendákat stb. készíthetünk. könnyedén, mivel minden könnyen testreszabható.
Seaborn
A Seaborn egy népszerű adatvizualizációs könyvtár, amely a Matplotlib-re épül. A Seaborn alapértelmezett stílusai és színpalettái sokkal kifinomultabbak, mint a Matplotlibé. A Seaborn a vizualizációt helyezi bármilyen adat megértésének középpontjába. A Seaborn egy magasabb szintű könyvtár – könnyebb vele bizonyos típusú ábrákat létrehozni, beleértve a hőtérképeket, idősorokat és hegedűábrákat.
ggplot
A ggplot egy Python vizualizációs könyvtár, amely az R ggplot2-n és a Grammar of Graphics-on alapul. Magas szintű nyelvtan segítségével készíthetünk ábrákat anélkül, hogy a megvalósítás részleteivel foglalkoznánk. A Ggplot másképp működik, mint a Matplotlib: lehetővé teszi a felhasználók számára, hogy komponenseket rétegezzenek egy teljes plot létrehozásához. A felhasználó például tengelyekkel kezdhet, majd pontokat, majd vonalat, trendvonalat stb. adhat hozzá. A Grammar of Graphics-ot “intuitív” módszerként üdvözölték a grafikus ábrázoláshoz, azonban a Matplotlib tapasztalt felhasználóinak időre lehet szükségük, hogy alkalmazkodjanak ehhez az új gondolkodásmódhoz.
Bokeh
A Pythonban natívan megtalálható Bokeh szintén a Grammar of Graphics-ra épül, akárcsak a ggplot. Támogatja a streaminget, és a valós idejű adatokat is. Egyedülálló tulajdonsága, hogy képes interaktív, webkész ábrák készítésére, amelyeket könnyen ki lehet adni JSON objektumként, HTML dokumentumként vagy interaktív webes alkalmazásként.
A Bokeh három különböző szintű kezelőfelülettel rendelkezik, hogy a különböző típusú felhasználóknak megfeleljen. A legfelső szint a diagramok gyors létrehozására szolgál. Olyan gyakori diagramok létrehozására szolgáló módszereket tartalmaz, mint a sávdiagramok, dobozdiagramok és hisztogramok. A középső szint lehetővé teszi a felhasználó számára az egyes diagramok alapvető építőelemeinek (például a pontok egy szórásdiagramban) vezérlését, és ugyanolyan specifikus, mint a Matplotlib. Az alsó szint a fejlesztők és szoftvermérnökök számára készült. Nincsenek előre beállított alapértelmezések, és a felhasználónak kell definiálnia a diagram minden elemét.
Plotly
Míg a Plotly széles körben ismert, mint az adatvizualizáció online platformja, nagyon kevesen tudják, hogy Python notebookból is elérhető. A Bokeh-hez hasonlóan a Plotly erőssége az interaktív ábrák készítésében rejlik, és olyan kontúrábrákat kínál, amelyek a legtöbb könyvtárban nem találhatók meg.
Pygal
A Plotlyhoz és a Bokeh-hez hasonlóan a Pygal is kínál interaktív ábrákat, amelyeket be lehet ágyazni egy webböngészőbe. A grafikonok SVG-ként való kimeneti képessége az elsődleges megkülönböztető jegye. Kisebb adatkészletekkel kapcsolatos munkához az SVG-k is megfelelnek. A több százezer adatpontot tartalmazó diagramok esetében azonban lassúvá válnak, és gondot okoz a megjelenítésük.
Egyszerűen, mindössze néhány sor kóddal lehet szépen kinéző diagramot készíteni, mivel minden diagramtípus egy metódusba van csomagolva, és a beépített stílusok nagyszerűek.
Altair
AzAltair egy deklaratív statisztikai vizualizációs python könyvtár, amely a Vega-Lite-on alapul. Csak az adatoszlopok közötti kapcsolatokat kell megemlíteni a kódolási csatornákhoz, mint például x-tengely, y-tengely, szín, stb. és a többi ábrázolási részletet automatikusan kezeli. Ezáltal az Altair egyszerűvé, barátságossá és konzisztenssé válik. Az Altair segítségével minimális mennyiségű kóddal könnyű hatékony és szép vizualizációkat tervezni.
Geoplotlib
A Geoplotlib egy földrajzi adatok ábrázolására és térképek készítésére használt eszköztár. Különböző térkép-típusok létrehozására használható, mint például choropleth, heatmaps és dot density maps. A Geoplotlib használatához szükséges a Pyglet (objektumorientált programozási felület) telepítése.
A Geoplotlib csökkenti a vizualizációk tervezésének bonyolultságát azzal, hogy beépített eszközkészletet biztosít a leggyakoribb feladatokhoz, mint például a sűrűségvizualizáció, a térbeli grafikonok és a shape fájlok.
Mivel a legtöbb Python adatvizualizációs könyvtár nem kínál térképeket, jó, ha van egy erre szánt könyvtár.
Gleam
A Gleam-et az R Shiny csomagja ihlette. Lehetővé teszi a felhasználó számára, hogy bármilyen elemzést interaktív webes alkalmazássá alakítson, csupán Python szkriptek segítségével. A Gleam felhasználóinak ehhez nem kell ismerniük a HTML-t, a CSS-t vagy a JavaScriptet. A Gleam bármilyen Python adatvizualizációs könyvtárral működik. Miután a felhasználók létrehoztak egy ábrát, mezőket építhetnek rá az adatok szűrésére és rendezésére.
Missingno
A hiányzó adatok kezelése nehézkes. Egy adathalmaz teljessége gyorsan felmérhető a Missingno segítségével, ahelyett, hogy fáradságos keresgélést kellene végezni egy táblázatban. A felhasználó szűrheti és rendezheti az adatokat a teljesség alapján, vagy kiszúrhatja az összefüggéseket egy hőtérkép vagy egy dendrogram segítségével.
Leather
A Leathert úgy tervezték, hogy minden adattípussal dolgozhasson, és olyan diagramokat készít, mint az SVG, így azok a képminőség romlása nélkül méretezhetők. A Leather készítője, Christopher Groskopf fogalmazta meg a legjobban: “A Leather a Python diagramkészítő könyvtár azok számára, akiknek most van szükségük diagramokra, és nem érdekli őket, hogy tökéletesek-e.” Mivel ez a könyvtár viszonylag új, a dokumentáció egy része még fejlesztés alatt áll. Az elkészíthető diagramok eléggé alapszintűek – de ez a szándék.
A vizualizációs eszközök széles skálája áll rendelkezésre Pythonhoz, az adott feladat fókuszától függően óriási változatossággal. Ezt tükrözi a rendelkezésre álló könyvtárak puszta száma is. A felhasználók számára elengedhetetlen, hogy szem előtt tartsák a megközelítések közötti különbségeket és azok következményeit, mielőtt egy adott megközelítés mellett döntenének.