Python

Python Matplotlib opplæring

Python Matplotlib opplæring
I denne leksjonen om Python Matplotlib-biblioteket vil vi se på forskjellige aspekter av dette datavisualiseringsbiblioteket som vi kan bruke med Python til å generere vakre og intuitive grafer som kan visualisere data i en form som virksomheten ønsker fra en plattform. For å gjøre denne leksjonen komplett, vil vi dekke følgende seksjoner:

Hva er Python Matplotlib?

Matplotlib.pyplot er en grafplottpakke som kan brukes til å konstruere 2-dimensjonal grafikk ved hjelp av Python-programmeringsspråk. På grunn av sin pluggbare natur kan denne pakken brukes i alle GUI-applikasjoner, webapplikasjonsservere eller enkle Python-skript. Noen verktøysett som utvider funksjonaliteten til Python Matplotlib er:

Bare et notat før du starter er at vi bruker et virtuelt miljø for denne leksjonen som vi laget med følgende kommando:

python -m virtualenv matplotlib
kilde matplotlib / bin / aktiver

Når det virtuelle miljøet er aktivt, kan vi installere matplotlib-biblioteket i det virtuelle miljøet slik at eksempler vi oppretter neste kan utføres:

pip installere matplotlib

Vi ser noe slikt når vi utfører kommandoen ovenfor:

Du kan også bruke Anaconda til å kjøre disse eksemplene, noe som er enklere. Hvis du vil installere den på maskinen din, kan du se på leksjonen som beskriver “Slik installerer du Anaconda Python på Ubuntu 18.04 LTS ”og del din tilbakemelding. La oss nå gå videre til forskjellige typer tomter som kan konstrueres med Python Matplotlib.

Typer tomter

Her demonstrerer vi hvilke typer tomter som kan tegnes med Python Matplotlib.

Enkel graf

Det første eksemplet vi ser vil være et enkelt grafplott. Dette eksemplet brukes som en demonstrasjon av hvor enkelt det er å konstruere et grafplott sammen med enkle tilpasninger som følger med det. Vi starter med å importere matplotlib og definere x- og y-koordinatene vi vil plotte:

fra matplotlib importer pyplot som plt
x = [3, 6, 9]
y = [2, 4, 6]

Etter dette kan vi plotte disse koordinatene på grafen og vise det:

plt.tomt (x, y)
plt.vise fram()

Når vi kjører dette, vil vi se følgende graf:


Med bare noen få linjer med kode kunne vi tegne en graf. La oss legge til noen tilpasninger for å gjøre denne grafen litt mer uttrykksfull:

plt.tittel ('LH Plot')
plt.ylabel ('Y-akse')
plt.xlabel ('X-akse')

Legg til kodelinjer over før du viser plottet, og grafen vil nå ha etiketter:

Vi vil gi enda et forsøk på å tilpasse denne grafen for å gjøre den intuitiv med følgende kodelinjer før vi viser plottet:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.tittel ('Info')
plt.ylabel ('Y-akse')
plt.xlabel ('X-akse')
plt.plot (x1, y1, 'g', label = 'Quarter 1', linewidth = 5)
plt.plot (x2, y2, 'r', label = 'Quarter 2', linewidth = 5)
plt.legende()
plt.rutenett (True, color = 'k')
plt.vise fram()

Vi ser følgende plot når vi kjører kodebiten ovenfor:

Legg merke til hva vi startet med og hva vi endte med, en veldig intuitiv og attraktiv graf som du kan bruke i presentasjonene dine, og den er laget med ren Python-kode, definitivt noe å være stolt av !

Lage et søylediagram

Et søylediagram er spesielt nyttig når vi ønsker å plattforme en sammenligning med spesifikke og begrensede tiltak. For eksempel er det en god brukssak å sammenligne gjennomsnittskarakterene til studenter med et enkelt fag. La oss konstruere et søylediagram for samme brukstilfelle her, kodebiten for dette vil være:

avg_marks = [81, 92, 55, 79]
fysikk = [68, 77, 62, 74]
plt.bar ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Gjennomsnitt", bredde =.5)
plt.bar ([.75, 1.75, 2.75, 3.75], fysikk, label = "Physics", color = 'r', width =.5)
plt.legende()
plt.xlabel ('Range')
plt.ylabel ('Merker')
plt.tittel ('Sammenligning')
plt.vise fram()

Søylediagrammet opprettet med eksemplene ovenfor vil se slik ut:

Det er flere barer til stede her for å etablere en sammenligning. Vær oppmerksom på at vi har gitt bredden på hver stolpe som de første parametrene, og linjen er forskjøvet 0.5 verdier fra forrige.

Vi kan kombinere denne søylediagramkonstruksjonen med Pandas-biblioteket for å tilpasse dette mer, men vi vil dekke det i en annen leksjon om Pandas.

Distribusjoner med histogrammer

Histogrammer forveksles ofte med søylediagrammer. Den mest grunnleggende forskjellen ligger i brukssaken. Søylediagrammer brukes til å etablere sammenligninger mellom data mens histogrammer brukes til å beskrive datadistribusjon.

La oss for eksempel bruke eksemplet for studentkarakterer igjen, men denne gangen vil vi bare se på gjennomsnittskarakterene til studenter og se på hvordan de fordeles. Her er kodebiten, veldig lik forrige eksempel:

kasser = [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, hyller, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('Merker')
plt.tittel ('Sammenligning')
plt.vise fram()

Histogrammet opprettet med eksempeldataene ovenfor vil se slik ut:

Y-aksen viser her at hvor mange studenter som har fått samme karakterer som ble gitt som data for konstruksjonen.

Lage et scatterplott

Når det gjelder å sammenligne flere variabler og etablere deres effekt på hverandre, er Scatter-plot en god måte å presentere det samme på. I dette er data representert som punkter med verdien av en variabel reflektert av horisontal akse, og verdien av den andre variabelen bestemmer posisjonen til punktet på den vertikale aksen.

La oss se på en enkel kodebit for å beskrive det samme:

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 High score students ', color =' r ')
plt.spredning (x1, y1, label = '10 studenter med lav poengsum ', color =' b ')
plt.xlabel ('Merker')
plt.ylabel ('Student count')
plt.tittel ('Scatter Plot')
plt.legende()
plt.vise fram()

Spredningsdiagrammet som er opprettet med eksemplene ovenfor, vil se slik ut:

Områdetomter

Områdets tomter brukes hovedsakelig for å spore endringer i data over tid. De blir også betegnet som stabelplott i forskjellige tekster. For eksempel, hvis vi ønsker å etablere en representasjon av tiden som en student investerer i hvert fag på en enkelt dag, her er koden som vi kan gjøre det samme med:

dager = [1,2,3,4,5]
fysikk = [2,8,6,5,7]
python = [5,4,6,4,1]
r = [7,9,4,3,1]
matematikk = [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 (dager, fysikk, python, r, matematikk, farger = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.tittel ('Stack Plot')
plt.legende()
plt.vise fram()

Områdediagrammet opprettet med eksemplene ovenfor vil se slik ut:

Ovennevnte resultater viser tydelig en forskjell i tidsbruk av en student i hvert fag med en klar måte å gi forskjellen og fordelingen.

Kakediagrammer

Når vi vil dele hele delen i flere deler og beskrive mengden hver del inntar, er et kakediagram en god måte å lage denne presentasjonen på. Den brukes til å vise prosentandelen av data i komplett datasett. Her er en grunnleggende kodebit for å lage et enkelt sektordiagram:

labels = 'Python', 'C ++', 'Ruby', 'Java'
størrelser = [225, 130, 245, 210]
farger = ['r', 'b', 'g', 'c']
eksplodere = (0.1, 0, 0, 0) # eksploderer første del
# Plott
plt.kake (størrelser, eksplodere = eksplodere, etiketter = etiketter, farger = farger,
autopct = '% 1.1f %% ', skygge = True, startangle = 140)
plt.akse ('lik')
plt.vise fram()

Sirkeldiagrammet opprettet med eksemplene ovenfor vil se slik ut:

I avsnittene ovenfor så vi på ulike grafiske komponenter vi kan konstruere med Matplotlib-biblioteket for å representere dataene våre i forskjellige former og etablere forskjeller på en intuitiv måte mens vi er statistiske.

Funksjoner og alternativer for Matplotlib

En av de beste funksjonene for matplotlib er at den kan fungere på mange operativsystemer og grafiske backends. Den støtter dusinvis av operativsystemer og grafisk produksjon som vi så på i denne leksjonen. Dette betyr at vi kan stole på det når det gjelder å levere en produksjon på en måte vi trenger.

Det er forskjellige andre biblioteker til stede som kan konkurrere med matplotlib som:

  1. Seahorn
  2. Plottly
  3. Ggplot2

Selv om ovennevnte biblioteker kan presentere noen avanserte måter å beskrive og presentere data på grafisk måte, men det er ingen benektelse i enkelheten og effektiviteten til matplotlib-biblioteket.

Konklusjon

I denne leksjonen så vi på forskjellige aspekter av dette datavisualiseringsbiblioteket som vi kan bruke med Python for å generere vakre og intuitive grafer som kan visualisere data i en form som virksomheten ønsker fra en plattform. Matplotlib er et av de viktigste visualiseringsbiblioteket når det gjelder datateknikk og presentasjon av data i de fleste visuelle former, definitivt en ferdighet vi trenger å ha under beltet.

Del din tilbakemelding på leksjonen på Twitter med @sbmaggarwal og @LinuxHint.

Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...
Hvordan fange opp og streame spilløkten din på Linux
Tidligere ble spill bare ansett som en hobby, men med tiden så spillindustrien en enorm vekst når det gjelder teknologi og antall spillere. Spillpubli...