Skrolla genom Python Package Index och du hittar bibliotek för praktiskt taget alla behov av datavisualisering – från GazeParser för forskning om ögonrörelser till pastalog för realtidsvisualiseringar av neurala nätverksträning. Och även om många av dessa bibliotek är intensivt inriktade på att utföra en specifik uppgift kan vissa användas oavsett vilket område du arbetar inom.
Denna lista är en översikt över 10 tvärvetenskapliga Python-bibliotek för datavisualisering, från de välkända till de obskyra. Mode Python Notebooks stöder tre bibliotek på den här listan – matplotlib, Seaborn och Plotly – och mer än 60 andra som du kan utforska på vår sida om stöd för Notebook.
Vi hoppas att dessa listor inspirerar dig, och om du vill lägga till ett bibliotek som inte finns med i listan kan du använda våra instruktioner för att installera ytterligare bibliotek eller skicka ett meddelande till success modeanalytics .
- Matplotlib
- Seaborn
- ggplot
- Bokeh
- pygal
- Plotly
- geoplotlib
- Gleam
- missingno
- Leather
matplotlib
Två histogram (matplotlib)
matplotlib är O.G. av Python-bibliotek för datavisualisering. Trots att det är över tio år gammalt är det fortfarande det mest använda biblioteket för plottning i Pythongemenskapen. Det utformades för att nära likna MATLAB, ett proprietärt programmeringsspråk som utvecklades på 1980-talet.
Eftersom matplotlib var det första Python-biblioteket för datavisualisering är många andra bibliotek byggda ovanpå det eller utformade för att arbeta tillsammans med det under analysen. Vissa bibliotek som pandas och Seaborn är ”wrappers” över matplotlib. De ger dig tillgång till ett antal av matplotlibs metoder med mindre kod.
Matplotlib är bra för att få en känsla för data, men det är inte särskilt användbart för att snabbt och enkelt skapa diagram av publikationskvalitet. Som Chris Moffitt påpekar i sin översikt över Pythons visualiseringsverktyg är matplotlib ”extremt kraftfull, men med den kraften följer komplexitet.”
matplotlib har länge kritiserats för sina standardstilar, som har en tydlig 90-talskänsla. Den kommande utgåvan av matplotlib 2.0 lovar många nya stilförändringar för att lösa detta problem.
Skapad av: John D. Hunter, tillgänglig i Mode
Här hittar du mer information: matplotlib.org
Prova matplotlib i Mode.
Seaborn
Violinplot (Michael Waskom)
Seaborn utnyttjar kraften i matplotlib för att skapa vackra diagram på några få rader kod. Den viktigaste skillnaden är Seaborns standardstilar och färgpaletter, som är utformade för att vara mer estetiskt tilltalande och moderna. Eftersom Seaborn bygger på matplotlib måste du känna till matplotlib för att kunna justera Seaborns standardvärden.
Skapad av: Michael Waskom, tillgänglig i Mode
Här kan du läsa mer: http://web.stanford.edu/~mwaskom/software/seaborn/index.html
Prova Seaborn i Mode.
ggplot
Små multiplar (ŷhat)
ggplot bygger på ggplot2, ett R-plottsystem, och på begrepp från The Grammar of Graphics. ggplot fungerar på ett annat sätt än matplotlib: du kan lägga komponenterna i lager för att skapa en komplett plot. Du kan till exempel börja med axlar, sedan lägga till punkter, sedan en linje, en trendlinje osv. Även om The Grammar of Graphics har hyllats som en ”intuitiv” metod för plottning kan erfarna matplotlib-användare behöva tid för att anpassa sig till detta nya tankesätt.
Enligt skaparen är ggplot inte avsedd för att skapa mycket skräddarsydd grafik. Den offrar komplexitet för en enklare metod för plottning.
ggplot är tätt integrerat med pandas, så det är bäst att lagra dina data i en DataFrame när du använder ggplot.
Created by: ŷhat
Här kan du läsa mer: http://ggplot.yhathq.com/
Bokeh
Interaktiv väderstatistik för tre städer (Continuum Analytics)
Likt ggplot är Bokeh baserad på The Grammar of Graphics, men till skillnad från ggplot är den inbyggd i Python, inte portad från R. Dess styrka ligger i förmågan att skapa interaktiva, webbredoade plottar, som enkelt kan skickas ut som JSON-objekt, HTML-dokument eller interaktiva webbprogram. Bokeh har också stöd för strömmande data och data i realtid.
Bokeh tillhandahåller tre gränssnitt med olika kontrollnivåer för att tillgodose olika användartyper. Den högsta 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 har samma specificitet som matplotlib och låter dig kontrollera de grundläggande byggstenarna i varje diagram (t.ex. prickarna i ett scatter plot). Den lägsta nivån är inriktad på utvecklare och programvaruingenjörer. Den har inga förinställda standardvärden och kräver att du definierar varje element i diagrammet.
Skapad av: Var kan du läsa mer? http://bokeh.pydata.org/en/latest/
pygal
Box plot (Florian Mounier)
Likt Bokeh och Plotly erbjuder pygal interaktiva plottar som kan bäddas in i webbläsaren. Dess främsta särskiljande egenskap är möjligheten att ge ut diagram som SVGs. Så länge du arbetar med mindre datamängder räcker det med SVGs. Men om du gör diagram med hundratusentals datapunkter kommer de att få problem med renderingen och bli tröga.
Med tanke på att varje diagramtyp är paketerad i en metod och att de inbyggda stilarna är vackra är det lätt att skapa ett snyggt diagram med några få rader kod.
Created by: Florian Mounier
Här kan du läsa mer: http://www.pygal.org/en/latest/index.html
Plotly
Line plot (Plotly)
Du kanske känner till Plotly som en onlineplattform för datavisualisering, men visste du också att du kan få tillgång till dess funktioner från en Python-notebook? Precis som Bokeh är Plotlys styrka att göra interaktiva plottar, men den erbjuder några diagram som du inte hittar i de flesta bibliotek, t.ex. konturplottar, dendogram och 3D-diagram.
Skapad av: Plotly, tillgänglig i Mode
Här kan du läsa mer: https://plot.ly/python/
Prova Plotly i Mode.
geoplotlib
Choropleth (Andrea Cuttone)
geoplotlib är en verktygslåda för att skapa kartor och plotta geografiska data. Du kan använda den för att skapa en mängd olika karttyper, t.ex. choropleths, heatmaps och dot density maps. Du måste ha Pyglet (ett objektorienterat programmeringsgränssnitt) installerat för att kunna använda geoplotlib. Eftersom de flesta Python-bibliotek för datavisualisering inte erbjuder kartor är det ändå trevligt att ha ett bibliotek som är dedikerat enbart till dem.
Skapat av: Andrea Cuttone
Här kan du läsa mer: https://github.com/andrea-cuttone/geoplotlib
Gleam
Scatter plot with trend line (David Robinson)
Gleam är inspirerat av R:s Shiny-paket. Det gör det möjligt att förvandla analyser till interaktiva webbappar med hjälp av endast Python-skript, så du behöver inte kunna några andra språk som HTML, CSS eller JavaScript. Gleam fungerar med alla Python-bibliotek för datavisualisering. När du har skapat en plot kan du bygga fält ovanpå den så att användarna kan filtrera och sortera data.
Skapad av: David Robinson
Här kan du läsa mer: https://github.com/dgrtwo/gleam
missingno
Nullitetsmatris (Aleksey Bilogur)
Det är jobbigt att hantera saknade data. missingno gör det möjligt för dig att snabbt bedöma om en datamängd är fullständig med en visuell sammanfattning, istället för att behöva gå igenom en tabell. Du kan filtrera och sortera data baserat på fullständighet eller upptäcka korrelationer med en värmekarta eller ett dendrogram.
Skapad av: Aleksey Bilogur
Här kan du läsa mer: https://github.com/ResidentMario/missingno
Leather
Kartor med konsekventa skalor (Christopher Groskopf)
Leathers 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.” Det är utformat för att fungera med alla datatyper och producerar diagram som SVGs, så att du kan skala dem utan att förlora bildkvalitet. Eftersom biblioteket är relativt nytt är en del av dokumentationen fortfarande under utveckling. De diagram du kan göra är ganska enkla – men det är avsikten.
Skapad av: Var kan du läsa mer? https://leather.readthedocs.io/en/latest/index.html
Andra bra läsning om Python datavisualisering
Det finns massor av bra utvärderingar och översikter av Python datavisualiseringsbibliotek där ute. Kolla in några av våra favoriter:
- One Chart, Twelve Charting Libraries (Lisa Charlotte Rost)
- Overview of Python Visualization Tools (Practical Business Python)
- Python datavisualisering: Comparing 7 tools (Dataquest.io)