- Vad är Python Matplotlib?
- Typer av diagram vi kan konstruera, som stapeldiagram, histogram, spridningsdiagram, arealdiagram och pe-diagram
- Arbeta med flera tomter
- Några alternativ för Python Matplotlib
Vad är Python Matplotlib?
Matplotlib.pyplot är ett grafplottningspaket som kan användas för att konstruera tvådimensionell grafik med Python-programmeringsspråk. På grund av dess pluggbara karaktär kan detta paket användas i alla GUI-applikationer, webbapplikationsservrar eller enkla Python-skript. Några verktygssatser som utökar Python Matplotlibs funktionalitet är:
- Grundkarta är ett kartplottningsbibliotek som erbjuder funktioner för att skapa kartprojekt, kustlinjer och politiska gränser
- Natgrid kan användas för att raster oregelbundna data i åtskilda data
- Excel-verktyg kan användas för att utbyta data mellan MS Excel och Matplotlib
- Kartong är ett mycket komplext kartläggningsbibliotek som till och med tillhandahåller bildtransformationsfunktioner bortsett från punkt-, linje- och polygonprojektion
Bara en anmärkning innan vi börjar är att vi använder en virtuell miljö för den här lektionen som vi gjorde med följande kommando:
python -m virtualenv matplotlibkällmatplotlib / bin / aktivera
När den virtuella miljön är aktiv kan vi installera matplotlib-biblioteket i det virtuella env så att exempel vi skapar nästa kan köras:
pip installera matplotlibVi ser något liknande när vi utför ovanstående kommando:
Du kan också använda Anaconda för att köra dessa exempel, vilket är lättare. Om du vill installera den på din maskin, titta på lektionen som beskriver ”Hur man installerar Anaconda Python på Ubuntu 18.04 LTS ”och dela din feedback. Låt oss nu gå vidare till olika typer av tomter som kan konstrueras med Python Matplotlib.
Typer av tomter
Här visar vi vilka typer av tomter som kan ritas med Python Matplotlib.
Enkel graf
Det första exemplet vi kommer att se kommer att vara en enkel grafdiagram. Detta exempel används som en demonstration av hur enkelt det är att konstruera en grafdiagram tillsammans med enkla anpassningar som följer med den. Vi börjar med att importera matplotlib och definiera x- och y-koordinaterna vi vill plotta:
från matplotlib importera pyplot som pltx = [3, 6, 9]
y = [2, 4, 6]
Efter detta kan vi plotta dessa koordinater i diagrammet och visa det:
plt.tomt (x, y)plt.show()
När vi kör detta ser vi följande graf:
Med bara några kodrader kunde vi rita ett diagram. Låt oss lägga till några anpassningar för att göra denna graf lite mer uttrycksfull:
plt.ylabel ('Y-axel')
plt.xlabel ('X-axel')
Lägg till ovanstående kodrader precis innan du visar diagrammet och diagrammet kommer nu att ha etiketter:
Vi kommer att ge ytterligare ett försök att anpassa den här grafen för att göra den intuitiv med följande kodrader innan vi visar handlingen:
x1 = [3, 6, 9]y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.titel ('Info')
plt.ylabel ('Y-axel')
plt.xlabel ('X-axel')
plt.plot (x1, y1, 'g', label = 'Quarter 1', linewidth = 5)
plt.plot (x2, y2, 'r', label = 'Quarter 2', linewidth = 5)
plt.legend()
plt.rutnät (True, color = 'k')
plt.show()
Vi ser följande plot när vi kör ovanstående kodavsnitt:
Lägg märke till vad vi började med och vad vi slutade med, en mycket intuitiv och attraktiv graf som du kan använda i dina presentationer och den är gjord med ren Python-kod, definitivt något att vara stolt över !
Göra en stapeldiagram
Ett stapeldiagram är särskilt användbart när vi vill plattforma en jämförelse med specifika och begränsade mått. Till exempel är det ett bra användningsfall att jämföra genomsnittliga betyg för studenter med ett enskilt ämne. Låt oss konstruera ett stapeldiagram för samma användningsfall här, kodavsnittet för detta kommer att vara:
avg_marks = [81, 92, 55, 79]fysik = [68, 77, 62, 74]
plt.stapel ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Genomsnitt", width =.5)
plt.bar([.75, 1.75, 2.75, 3.75], fysik, label = "Physics", color = 'r', width =.5)
plt.legend()
plt.xlabel ('Range')
plt.ylabel ('Märken')
plt.titel ('Jämförelse')
plt.show()
Stapeldiagrammet som skapats med ovanstående exempeldata kommer att se ut som följande:
Det finns flera staplar här för att skapa en jämförelse. Observera att vi har angett bredden på varje stapel som de första parametrarna och att stapeln förskjuts 0.5 värden från föregående.
Vi kan kombinera denna stapeldiagramkonstruktion med Pandas-biblioteket för att anpassa detta mer, men vi kommer att täcka det i en annan lektion om Pandas.
Fördelningar med histogram
Histogram förväxlas ofta med stapeldiagram. Den mest grundläggande skillnaden ligger i deras användningsfall. Stapeldiagram används för att fastställa jämförelser mellan data medan histogram används för att beskriva datadistribution.
Låt oss till exempel tillämpa exemplet för studentbetyg igen men den här gången tittar vi bara på elevernas genomsnittliga betyg och tittar på hur de fördelas. Här är kodavsnittet, som mycket liknar föregående exempel:
soptunnor = [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, lagerplatser, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('Märken')
plt.titel ('Jämförelse')
plt.show()
Histogrammet som skapats med ovanstående exempeldata ser ut som följande:
Y-axeln visar här att hur många elever som har samma betyg som tillhandahölls som data för konstruktionen.
Göra en spridningsplan
När det gäller att jämföra flera variabler och fastställa deras effekt på varandra är Scatter-plot ett bra sätt att presentera detsamma. I detta representeras data som punkter med värdet för en variabel reflekterad av den horisontella axeln och värdet för den andra variabeln bestämmer positionen för punkten på den vertikala axeln.
Låt oss titta på ett enkelt kodavsnitt för att beskriva detsamma:
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.spridning (x, y, etikett = '10 studenter med hög poäng ', färg =' r ')
plt.scatter (x1, y1, label = '10 Låg poängstudenter ', color =' b ')
plt.xlabel ('Märken')
plt.ylabel ('Student count')
plt.titel ('Scatter Plot')
plt.legend()
plt.show()
Spridningsdiagrammet som skapats med ovanstående exempeldata kommer att se ut som följande:
Område tomter
Områdesdiagrammen används främst för att spåra förändringar i data över tiden. De kallas också som stapeldiagram i olika texter. Till exempel, om vi vill skapa en representation av den tid som en student investerar i varje ämne på en enda dag, här är koden som vi kan göra detsamma med:
dagar = [1,2,3,4,5]fysik = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matematik = [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', linewidth = 5)
plt.plot ([], [], color = 'k', label = 'Math', linewidth = 5)
plt.stackplot (dagar, fysik, python, r, matematik, färger = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.title ('Stack Plot')
plt.legend()
plt.show()
Områdesdiagrammet som skapats med ovanstående exempeldata kommer att se ut som följande:
Ovanstående resultat visar tydligt en skillnad i tid som en elev spenderar i varje ämne med ett tydligt sätt att ge skillnaden och fördelningen.
Cirkeldiagram
När vi vill dela upp hela delen i flera delar och beskriva mängden varje del upptar, är ett cirkeldiagram ett bra sätt att göra denna presentation. Den används för att visa procentandelen data i hela datamängden. Här är ett grundläggande kodavsnitt för att skapa ett enkelt cirkeldiagram:
labels = 'Python', 'C ++', 'Ruby', 'Java'storlekar = [225, 130, 245, 210]
färger = ['r', 'b', 'g', 'c']
explodera = (0.1, 0, 0, 0) # explodera första delen
# Komplott
plt.paj (storlekar, explodera = explodera, etiketter = etiketter, färger = färger,
autopct = '% 1.1f %% ', skugga = True, startangle = 140)
plt.axel ('lika')
plt.show()
Cirkeldiagrammet som skapats med ovanstående exempeldata ser ut som följande:
I ovanstående avsnitt tittade vi på olika grafiska komponenter som vi kan konstruera med Matplotlib-biblioteket för att representera våra data i olika former och fastställa skillnader på ett intuitivt sätt samtidigt som vi är statistiska.
Funktioner och alternativ för Matplotlib
En av de bästa funktionerna för matplotlib är att den kan fungera på många operativsystem och grafiska backend. Den stöder dussintals operativsystem och grafisk produktion som vi tittade på i den här lektionen. Det betyder att vi kan lita på det när det gäller att tillhandahålla en produktion på ett sätt som vi behöver.
Det finns olika andra bibliotek närvarande som kan konkurrera med matplotlib som:
- Seahorn
- Plotly
- Ggplot2
Även om ovan nämnda bibliotek kan presentera några avancerade sätt att beskriva och presentera data på grafiskt sätt, men det finns ingen förnekelse av enkelheten och effektiviteten hos matplotlib-biblioteket.
Slutsats
I den här lektionen tittade vi på olika aspekter av detta datavisualiseringsbibliotek som vi kan använda med Python för att generera vackra och intuitiva grafer som kan visualisera data i en form som företaget vill ha från en plattform. Matplotlib är ett av det viktigaste visualiseringsbiblioteket när det gäller datateknik och presentation av data i de flesta visuella former, definitivt en färdighet vi behöver ha inom ramen.
Dela din feedback om lektionen på Twitter med @sbmaggarwal och @LinuxHint.