Python matplotlib tutorial

Python matplotlib tutorial
I denne leksjonen om Python Matplotlib -biblioteket, vil vi se på forskjellige aspekter ved 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. For å gjøre denne leksjonen komplett, vil vi dekke følgende seksjoner:
  • Hva er python matplotlib?
  • Typer plott vi kan konstruere, som bargraf, histogram, spredning, område plot og PE -diagram
  • Arbeide med flere tomter
  • Noen alternativer for python matplotlib

Hva er python matplotlib?

Matplotlib.Pyplot er en grafplottingspakke 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:

  • Basemap er et kart som plotter bibliotek som gir funksjoner for å lage kartprosjekter, kystlinjer og politiske grenser
  • Natgrid kan brukes til å rutenett uregelmessige data i data om avstand
  • Excel Tools kan brukes til å utveksle data mellom MS Excel og matplotlib
  • Cartopy er et mye komplekst kartleggingsbibliotek som til og med gir bildetransformasjonsfunksjoner bortsett fra Point-, Line- og polygon -projeksjoner

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
Kildematplotlib/bin/aktiverer

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

PIP -install Matplotlib

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

Du kan også bruke Anaconda til å kjøre disse eksemplene som er enklere. Hvis du vil installere den på maskinen din, kan du se på leksjonen som beskriver “Hvordan installere Anaconda Python på Ubuntu 18.04 LTS ”og del tilbakemeldingene dine. 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 trekkes med Python matplotlib.

Enkel graf

Det første eksemplet vi vil se vil være av 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 ønsker å plotte:

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

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

plt.plot (x, y)
plt.forestilling()

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


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

plt.tittel ('LH plot')
plt.ylabel ('y Axis')
plt.Xlabel ('X Axis')

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

Vi vil gjøre ett 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 Axis')
plt.Xlabel ('X Axis')
plt.plot (x1, y1, 'g', label = 'kvartal 1', linewidth = 5)
plt.plot (x2, y2, 'r', label = 'kvartal 2', linewidth = 5)
plt.legende()
plt.rutenett (sant, farge = 'k')
plt.forestilling()

Vi vil se følgende plot når vi kjører ovennevnte kodebit:

Legg merke til hva vi startet med og hva vi endte opp 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 en søylediagram

En søylediagram er spesielt nyttig når vi ønsker å plattform en sammenligning med spesifikke og begrensede tiltak. For eksempel å sammenligne gjennomsnittsmerkene til studenter med et enkelt emne er en god bruk-sak. La oss konstruere en stolpediagram for samme bruk-sak 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 = "fysikk", farge = 'r', bredde =.5)
plt.legende()
plt.xlabel ('rekkevidde')
plt.Ylabel ('Marks')
plt.Tittel ('Sammenligning')
plt.forestilling()

Stanggrafen som er opprettet med eksemplene ovenfor, vil se ut som følgende:

Det er flere barer som er til stede for å etablere en sammenligning. Vær oppmerksom på at vi har gitt bredden på hver stolpe som en første parametere og stolpen forskyves 0.5 verdier fra den forrige.

Vi kan kombinere denne bargrafkonstruksjonen med Pandas Library for å tilpasse dette mer, men vi vil dekke den i en annen leksjon om Pandas.

Distribusjoner med histogrammer

Histogrammer er ofte forvekslet med stolpediagrammer. Den mest grunnleggende forskjellen ligger i brukssaken deres. Søylediagrammer brukes til å etablere sammenligninger mellom data, mens histogrammer brukes til å beskrive datafordeling.

La oss for eksempel bruke eksemplet for studentmerker igjen, men denne gangen vil vi bare se på gjennomsnittlig merkene til studenter og se på hvordan de distribueres. Her er kodebiten, veldig lik det forrige eksemplet:

Binger = [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, BINS, HISTTYPE = 'BAR', RWIDTH = 0.8)
plt.xlabel ('rekkevidde')
plt.Ylabel ('Marks')
plt.Tittel ('Sammenligning')
plt.forestilling()

Histogrammet som er opprettet med prøvedata ovenfor, vil se ut som følgende:

Y-aksen viser her at hvor mange studenter har de samme merkene som ble gitt som dataene for konstruksjonen.

Lage en spredningsplott

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

La oss se på et enkelt 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.spredning (x, y, etikett = '10 høyt scorende studenter ', farge =' r ')
plt.spredning (x1, y1, etikett = '10 lavscorende studenter ', farge =' b ')
plt.Xlabel ('Marks')
plt.ylabel ('studenttelling')
plt.tittel ('spredt plot')
plt.legende()
plt.forestilling()

Spredningsplottet som er opprettet med eksemplaredata ovenfor, vil se ut som følgende:

Område tomter

Områdets tomter brukes hovedsakelig til å spore endringer i data over tid. De blir også betegnet som stabler i forskjellige tekster. Hvis vi for eksempel ønsker å etablere en representasjon av tid som er investert av en student til hvert emne på en enkelt dag, er her koden 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 = 'fysikk', lineWidth = 5)
plt.plot ([], [], color = 'c', label = 'python', linewidth = 5)
plt.plot ([], [], color = 'r', label = 'r', lineWidth = 5)
plt.plot ([], [], color = 'k', label = 'matematikk', lineWidth = 5)
plt.StackPlot (Days, Physics, Python, R, Math, Colors = ['G', 'K', 'R', 'B'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.Tittel ('Stack Plot')
plt.legende()
plt.forestilling()

Områdeplottet som er opprettet med eksempler på overprøvedata vil se ut som følgende:

Ovennevnte utgang etablerer tydelig en forskjell i tid brukt av en student i hvert fag med en klar måte å gi forskjellen og distribusjonen.

Kakediagrammer

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

Etiketter = 'Python', 'C ++', 'Ruby', 'Java'
Størrelser = [225, 130, 245, 210]
farger = ['r', 'b', 'g', 'c']
eksplodere = (0.1, 0, 0, 0) # eksplodere 1. skive
# Plott
plt.Pai (størrelser, eksplodere = eksplodere, etiketter = etiketter, farger = farger,
autopct = '%1.1f %% ', skygge = true, startangle = 140)
plt.Axis ('like')
plt.forestilling()

Kakediagrammet som er opprettet med eksempler på eksemplarene, vil se ut som følgende:

I ovenfor seksjoner så vi på forskjellige 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 statistisk.

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 output som vi så på i denne leksjonen. Dette betyr at vi kan stole på det når det gjelder å gi en utdata på en måte vi trenger.

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

  1. Seahorn
  2. Plotly
  3. Ggplot2

Selv om biblioteker over nevnte bibliotek.

Konklusjon

I denne leksjonen så vi på forskjellige aspekter ved 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 visualiseringsbibliotekene når det gjelder datateknikk og presenterer data i de fleste visuelle former, definitivt en ferdighet vi trenger å ha under beltet.

Del tilbakemeldingene dine på leksjonen på Twitter med @SBMaggarwal og @linuxhint.