Python Package Index har bibliotek för praktiskt taget alla behov av datavisualisering – från Pastalog för realtidsvisualiseringar av neurala nätverksträning till Gaze Parser för forskning om ögonrörelser. Vissa av dessa bibliotek kan användas oavsett användningsområde, men många av dem är intensivt inriktade på att utföra en specifik uppgift.
En översikt över 11 tvärvetenskapliga Python-bibliotek för datavisualisering, från de mest populära till de minst populära följer.
Matplotlib
Matplotlib Python-biblioteket används för att generera enkla men kraftfulla visualiseringar. Det är mer än ett decennium gammalt och är det mest använda biblioteket för plottning i Pythongemenskapen. Matplotlib används för att plotta ett stort antal grafer – från histogram till heat plots.
Matplotlob är det första Python-biblioteket för datavisualisering, därför byggs många andra bibliotek ovanpå Matplotlib och är utformade för att fungera i samband med analysen. Bibliotek som pandas och matplotlib är ”wrappers” över Matplotlib som ger tillgång till ett antal av Matplotlibs metoder med mindre kod.
Matplotlibs mångsidighet kan användas för att göra visualiseringstyper som t.ex:
- Scatter plots
- Bar charts and Histograms
- Line plots
- Pie charts
- Stem plots
- Contour plots
- Quiver plots
- Spectrograms
Du kan skapa rutnät, etiketter, legender osv. med lätthet eftersom allt är lätt anpassningsbart.
Seaborn
Seaborn är ett populärt datavisualiseringsbibliotek som är byggt på Matplotlib. Seaborns standardstilar och färgpaletter är mycket mer sofistikerade än Matplotlib. Seaborn sätter visualisering i centrum för förståelsen av alla data. Seaborn är ett bibliotek på högre nivå – det är lättare att generera vissa typer av plottar, inklusive värmekartor, tidsserier och violinplottar.
ggplot
Ggplot är ett visualiseringsbibliotek i Python som bygger på R:s ggplot2 och Grammar of Graphics. Du kan konstruera plottar med hjälp av grammatik på hög nivå utan att oroa dig för implementeringsdetaljerna. Ggplot fungerar annorlunda jämfört med Matplotlib: det låter användarna skikta komponenter för att skapa en fullständig plot. Användaren kan till exempel börja med axlar och sedan lägga till punkter, sedan en linje, en trendlinje osv. The Grammar of Graphics har hyllats som en ”intuitiv” metod för plottning, men erfarna Matplotlib-användare kan behöva tid för att anpassa sig till detta nya tankesätt.
Bokeh
Bokeh, som är infödd till Python, är också baserad på The Grammar of Graphics liksom ggplot. Den har också stöd för streaming och data i realtid. Det unika säljargumentet är dess förmåga att skapa interaktiva, webbredo plottar, som lätt kan skickas ut som JSON-objekt, HTML-dokument eller interaktiva webbapplikationer.
Bokeh har tre gränssnitt med olika grader av kontroll för att tillgodose olika typer av användare. Den översta nivån är till för att snabbt skapa diagram. Den innehåller metoder för att skapa vanliga diagram som stapeldiagram, boxdiagram och histogram. Den mellersta nivån gör det möjligt för användaren att kontrollera de grundläggande byggstenarna i varje diagram (t.ex. prickarna i ett spridningsdiagram) och har samma specificitet som Matplotlib. Den nedre nivån är inriktad på utvecklare och programvaruingenjörer. Den har inga förinställda standardvärden och kräver att användaren definierar varje element i diagrammet.
Plotly
Samtidigt som Plotly är allmänt känt som en online-plattform för datavisualisering, är det väldigt få som vet att den kan vara kan nås från en Python-notebook. Liksom Bokeh ligger Plotlys styrka i att göra interaktiva plottar, och den erbjuder konturplottar, vilket inte finns i de flesta bibliotek.
Pygal
Pygal erbjuder, liksom Plotly och Bokeh, interaktiva plottar som kan bäddas in i en webbläsare. Möjligheten att ge ut diagram som SVGs är dess främsta särskiljande egenskap. För arbete med mindre datamängder räcker SVGs utmärkt. Men för diagram med hundratusentals datapunkter blir de tröga och har svårt att rendera.
Det är lätt att skapa ett snyggt diagram med bara några få rader kod eftersom varje diagramtyp är paketerad i en metod och de inbyggda stilarna är fantastiska.
Altair
Altair är ett deklarativt pythonbibliotek för statistisk visualisering som bygger på Vega-Lite. Du behöver bara nämna kopplingarna mellan datakolumnerna till kodningskanalerna, t.ex. x-axel, y-axel, färg osv. och resten av plottningsdetaljerna hanteras automatiskt. Detta gör Altair enkelt, vänligt och konsekvent. Det är lätt att utforma effektiva och vackra visualiseringar med en minimal mängd kod med hjälp av Altair.
Geoplotlib
Geoplotlib är en verktygslåda som används för att plotta geografiska data och skapa kartor. Den kan användas för att skapa en mängd olika karttyper, t.ex. choropleths, heatmaps och dot density maps. Pyglet (ett objektorienterat programmeringsgränssnitt) måste installeras för att använda Geoplotlib.
Geoplotlib minskar komplexiteten i utformningen av visualiseringar genom att tillhandahålla en uppsättning inbyggda verktyg för de vanligaste uppgifterna som t.ex. täthetsvisualisering, rumsliga grafer och shape-filer.
Då de flesta Python-bibliotek för datavisualisering inte erbjuder kartor är det bra att ha ett bibliotek som är dedikerat till dem.
Gleam
Gleam är inspirerat av R:s Shiny-paket. Det gör det möjligt för användaren att förvandla alla analyser till interaktiva webbappar med hjälp av endast Python-skript. Gleam-användare behöver inte kunna HTML, CSS eller JavaScript för att göra detta. Gleam fungerar med alla Python-bibliotek för datavisualisering. När användarna har skapat en plot kan de bygga fält ovanpå den för att filtrera och sortera data.
Missingno
Hantering av saknade data är besvärligt. Om en datamängd är fullständig kan snabbt bedömas med Missingno, i stället för att mödosamt söka igenom en tabell. Användaren kan filtrera och sortera data baserat på fullständighet eller upptäcka korrelationer med en värmekarta eller ett dendrogram.
Leather
Leather är utformad för att arbeta med alla datatyper och producerar diagram som SVGs, så att de kan skalas utan att förlora bildkvalitet. Leather’s skapare, Christopher Groskopf, uttrycker det bäst: ”Leather är Pythons diagrambibliotek för dem som behöver diagram nu och som inte bryr sig om att de är perfekta.” Eftersom biblioteket är relativt nytt är en del av dokumentationen fortfarande under utveckling. De diagram som kan göras är ganska enkla – men det är avsikten.
Det finns ett brett utbud av visualiseringsverktyg, med en enorm mångfald, beroende på vilken inriktning uppgiften har, tillgängliga för Python. Detta återspeglas i det stora antalet tillgängliga bibliotek. Det är absolut nödvändigt för användarna att tänka på skillnaderna mellan tillvägagångssätten och deras konsekvenser innan de väljer ett visst tillvägagångssätt.