Python

Python Matplotlib-vejledning

Python Matplotlib-vejledning
I denne lektion om Python Matplotlib-biblioteket vil vi se på forskellige aspekter af dette datavisualiseringsbibliotek, som vi kan bruge sammen med Python til at generere smukke og intuitive grafer, der kan visualisere data i en form, som virksomheden ønsker fra en platform. For at gøre denne lektion færdig vil vi dække følgende afsnit:

Hvad er Python Matplotlib?

Matplotlib.pyplot er en grafplotningspakke, der kan bruges til at konstruere 2-dimensionel grafik ved hjælp af Python-programmeringssprog. På grund af sin tilstoppelige natur kan denne pakke bruges i alle GUI-applikationer, webapplikationsservere eller enkle Python-scripts. Nogle værktøjssæt, der udvider funktionaliteten af ​​Python Matplotlib, er:

Bare en note før start er, at vi bruger et virtuelt miljø til denne lektion, som vi lavede med følgende kommando:

python -m virtualenv matplotlib
kilde matplotlib / bin / aktiver

Når det virtuelle miljø er aktivt, kan vi installere matplotlib-biblioteket i den virtuelle env, så eksempler, vi opretter næste, kan udføres:

pip installere matplotlib

Vi ser noget som dette, når vi udfører ovenstående kommando:

Du kan også bruge Anaconda til at køre disse eksempler, hvilket er lettere. Hvis du vil installere det på din maskine, skal du se på lektionen, der beskriver “Sådan installeres Anaconda Python på Ubuntu 18.04 LTS ”og del din feedback. Lad os nu gå videre til forskellige typer af plot, der kan konstrueres med Python Matplotlib.

Typer af plot

Her demonstrerer vi de typer plot, der kan tegnes med Python Matplotlib.

Enkel graf

Det første eksempel, vi ser, vil være et simpelt grafplot. Dette eksempel bruges som en demonstration af, hvor simpelt det er at konstruere et grafplot sammen med enkle tilpasninger, der følger med det. Vi starter med at importere matplotlib og definere de x- og y-koordinater, vi vil plotte:

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

Herefter kan vi plotte disse koordinater på grafen og vise det:

plt.plot (x, y)
plt.at vise()

Når vi kører dette, ser vi følgende graf:


Med kun få linjer kode kunne vi plotte en graf. Lad os tilføje et par tilpasninger for at gøre denne graf lidt mere udtryksfuld:

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

Tilføj ovenstående kodelinjer lige før du viser plottet, og grafen har nu etiketter:

Vi giver endnu et forsøg på at tilpasse denne graf for at gø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.titel ('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.gitter (True, color = 'k')
plt.at vise()

Vi ser følgende plot, når vi kører ovenstående kodestykke:

Bemærk hvad vi startede med, og hvad vi endte med, en meget intuitiv og attraktiv graf, som du kan bruge i dine præsentationer, og den er lavet med ren Python-kode, bestemt noget at være stolt af !

Oprettelse af et søjlediagram

En søjlediagram er specielt nyttig, når vi ønsker at platforme en sammenligning med specifikke og begrænsede mål. For eksempel er sammenligning af gennemsnittets karakterer for studerende med et enkelt emne en god anvendelse. Lad os konstruere et søjlediagram til den samme use-case her, kodestykket for dette vil være:

avg_marks = [81, 92, 55, 79]
fysik = [68, 77, 62, 74]
plt.bar ([0.25, 1.25, 2.25, 3.25], avg_marks, label = "Gennemsnit", width =.5)
plt.bar([.75, 1.75, 2.75, 3.75], fysik, label = "Fysik", farve = 'r', bredde =.5)
plt.legende()
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.titel ('Sammenligning')
plt.at vise()

Søjlediagrammet oprettet med ovenstående eksempeldata ser ud som følger:

Der er flere søjler til stede her for at etablere en sammenligning. Bemærk, at vi har angivet bredden på hver bjælke som de første parametre, og bjælken forskydes 0.5 værdier fra den foregående.

Vi kan kombinere denne søjlediagramkonstruktion med Pandas-biblioteket for at tilpasse dette mere, men vi vil dække det i en anden lektion om Pandas.

Fordelinger med histogrammer

Histogrammer forveksles ofte med søjlediagrammer. Den mest grundlæggende forskel ligger i deres brugssag. Søjlediagrammer bruges til at etablere sammenligninger mellem data, mens histogrammer bruges til at beskrive datadistribution.

Lad os f.eks. Anvende eksemplet på studenterkarakter igen, men denne gang vil vi kun se på de gennemsnitlige karakterer for studerende og se på, hvordan de fordeles. Her er kodestykket, der ligner det foregående 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, bakker, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Range')
plt.ylabel ('Marks')
plt.titel ('Sammenligning')
plt.at vise()

Histogrammet oprettet med ovenstående eksempeldata ser ud som følger:

Y-aksen viser her, at hvor mange studerende, der har fået de samme karakterer, som blev givet som data for konstruktionen.

Lav et scatterplot

Når det kommer til at sammenligne flere variabler og etablere deres virkning på hinanden, er Scatter-plot en god måde at præsentere det samme på. I dette repræsenteres data som punkter med værdien af ​​en variabel reflekteret af den vandrette akse, og værdien af ​​den anden variabel bestemmer punktets position på den lodrette akse.

Lad os se på et simpelt kodestykke for at 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 scoring studerende ', color =' r ')
plt.scatter (x1, y1, label = '10 Studerende med lav score ', color =' b ')
plt.xlabel ('mærker')
plt.ylabel ('Student count')
plt.titel ('Scatter Plot')
plt.legende()
plt.at vise()

Spredningsdiagrammet oprettet med ovenstående eksempeldata vil se ud som følger:

Område plot

Områdets plot bruges primært til at spore ændringer i data over tid. De betegnes også som staktegninger i forskellige tekster. For eksempel, hvis vi ønsker at etablere en repræsentation af tid, som en studerende investerer i hvert emne på en enkelt dag, her er koden, som vi kan gøre det samme med:

dage = [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 (dage, fysik, python, r, matematik, farver = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.titel ('Stack Plot')
plt.legende()
plt.at vise()

Arealplottet oprettet med ovenstående eksempeldata vil se ud som følger:

Ovenstående output skaber klart en forskel i den studerendes tid i hvert fag med en klar måde at give forskellen og fordelingen på.

Lagkagediagrammer

Når vi vil opdele hele dele i flere dele og beskrive det beløb, hver del optager, er et cirkeldiagram en god måde at gøre denne præsentation på. Det bruges til at vise procentdelen af ​​data i komplet datasæt. Her er et grundlæggende kodestykke til at lave et simpelt cirkeldiagram:

labels = 'Python', 'C ++', 'Ruby', 'Java'
størrelser = [225, 130, 245, 210]
farver = ['r', 'b', 'g', 'c']
eksplodere = (0.1, 0, 0, 0) # eksploderer 1. skive
# Grund
plt.pie (størrelser, eksplodere = eksplodere, etiketter = etiketter, farver = farver,
autopct = '% 1.1f %% ', shadow = True, startangle = 140)
plt.akse ('lige')
plt.at vise()

Cirkeldiagrammet oprettet med ovenstående eksempeldata vil se ud som følger:

I ovenstående sektioner kiggede vi på forskellige grafiske komponenter, vi kan konstruere med Matplotlib-biblioteket for at repræsentere vores data i forskellige former og etablere forskelle på en intuitiv måde, mens vi er statistiske.

Funktioner og alternativer til Matplotlib

En af de bedste funktioner til matplotlib er, at den kan fungere på mange operativsystemer og grafiske backends. Det understøtter snesevis af operativsystemer og grafisk output, som vi så på i denne lektion. Det betyder, at vi kan stole på det, når det kommer til at levere et output på den måde, vi har brug for.

Der er forskellige andre biblioteker til stede, som kan konkurrere med matplotlib som:

  1. Seahorn
  2. Plotly
  3. Ggplot2

Selvom ovennævnte biblioteker muligvis præsenterer nogle avancerede måder at beskrive og præsentere data på grafisk måde, men der er ingen benægtelse i matplotlib-bibliotekets enkelhed og effektivitet.

Konklusion

I denne lektion kiggede vi på forskellige aspekter af dette datavisualiseringsbibliotek, som vi kan bruge sammen med Python til at generere smukke og intuitive grafer, der kan visualisere data i en form, som virksomheden ønsker fra en platform. Matplotlib er et af de vigtigste visualiseringsbiblioteker, når det kommer til datateknik og præsentation af data i de fleste visuelle former, bestemt en færdighed, vi skal have inden for vores bælte.

Del din feedback på lektionen på Twitter med @sbmaggarwal og @LinuxHint.

Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...
Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...
Mus Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
I de senere år har computere og operativsystemer udviklet sig meget. Der var et tidspunkt, hvor brugerne skulle bruge kommandoer til at navigere genne...