Python

Python Matplotlib-zelfstudie

Python Matplotlib-zelfstudie
In deze les over de Python Matplotlib-bibliotheek zullen we kijken naar verschillende aspecten van deze datavisualisatiebibliotheek die we met Python kunnen gebruiken om mooie en intuïtieve grafieken te genereren die gegevens kunnen visualiseren in een vorm die bedrijven van een platform willen. Om deze les compleet te maken, behandelen we de volgende onderdelen:

Wat is Python Matplotlib?

de matplotlib.pyplot is een pakket voor het plotten van grafieken dat kan worden gebruikt om 2-dimensionale afbeeldingen te construeren met behulp van de programmeertaal Python. Vanwege zijn pluggable karakter kan dit pakket worden gebruikt in alle GUI-applicaties, webapplicatieservers of eenvoudige Python-scripts. Enkele toolkits die de functionaliteit van Python Matplotlib uitbreiden zijn:

Een opmerking voordat we beginnen, is dat we voor deze les een virtuele omgeving gebruiken die we met het volgende commando hebben gemaakt:

python -m virtualenv matplotlib
bron matplotlib/bin/activate

Zodra de virtuele omgeving actief is, kunnen we de matplotlib-bibliotheek in de virtuele omgeving installeren, zodat voorbeelden die we vervolgens maken, kunnen worden uitgevoerd:

pip matplotlib installeren

We zien zoiets als dit wanneer we het bovenstaande commando uitvoeren:

Je kunt ook Anaconda gebruiken om deze voorbeelden uit te voeren, wat gemakkelijker is. Als je het op je computer wilt installeren, kijk dan naar de les die beschrijft "Hoe Anaconda Python op Ubuntu 18 te installeren".04 LTS” en deel uw feedback. Laten we nu verder gaan met verschillende soorten plots die kunnen worden geconstrueerd met Python Matplotlib.

Soorten percelen

Hier demonstreren we de soorten plots die kunnen worden getekend met Python Matplotlib.

Eenvoudige grafiek

Het eerste voorbeeld dat we zullen zien, is van een eenvoudige grafiekplot. Dit voorbeeld wordt gebruikt om te demonstreren hoe eenvoudig het is om een ​​grafiekplot te maken, samen met de eenvoudige aanpassingen die daarbij horen. We beginnen met het importeren van matplotlib en definiëren de x- en y-coördinaten die we willen plotten:

van matplotlib importeer pyplot als plt
x = [3, 6, 9]
y = [2, 4, 6]

Hierna kunnen we deze coördinaten in de grafiek plotten en tonen:

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

Wanneer we dit uitvoeren, zien we de volgende grafiek:


Met slechts enkele regels code konden we een grafiek plotten. Laten we een paar aanpassingen toevoegen om deze grafiek wat expressiever te maken:

plt.titel ('LH-plot')
plt.ylabel('Y-as')
plt.xlabel('X-as')

Voeg bovenstaande regels code toe net voordat u de plot laat zien en de grafiek heeft nu labels:

We zullen nog een poging doen om deze grafiek aan te passen om hem intuïtief te maken met de volgende coderegels voordat we de plot laten zien:

x1 = [3, 6, 9]
y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.titel('Info')
plt.ylabel('Y-as')
plt.xlabel('X-as')
plt.plot(x1 ,y1 , 'g', label='Quarter 1', linewidth=5)
plt.plot(x2, y2, 'r', label='Quarter 2', linewidth=5)
plt.legende()
plt.raster(True,kleur='k')
plt.tonen()

We zullen de volgende plot zien wanneer we het bovenstaande codefragment uitvoeren:

Let op waar we mee begonnen en waarmee we zijn geëindigd, een zeer intuïtieve en aantrekkelijke grafiek die je in je presentaties kunt gebruiken en die is gemaakt met pure Python-code, zeker iets om trots op te zijn !

Een staafdiagram maken

Een staafdiagram is vooral handig als we een vergelijking willen maken met specifieke en beperkte maatregelen. Het vergelijken van de gemiddelde cijfers van studenten met een enkel onderwerp is bijvoorbeeld een goede use-case. Laten we hier een staafdiagram maken voor dezelfde use-case, het codefragment hiervoor is:

avg_marks = [81, 92, 55, 79]
natuurkunde = [68, 77, 62, 74]
plt.staaf([0.25, 1.25, 2.25, 3.25], avg_marks, label="Gemiddelde", width=.5)
plt.bar([.75, 1.75, 2.75, 3.75], natuurkunde, label = "Natuurkunde", kleur = 'r', breedte =.5)
plt.legende()
plt.xlabel('Bereik')
plt.ylabel('Markeringen')
plt.titel('Vergelijking')
plt.tonen()

Het staafdiagram dat met de bovenstaande voorbeeldgegevens is gemaakt, ziet er als volgt uit:

Er zijn hier meerdere balken aanwezig om een ​​vergelijking te maken. Houd er rekening mee dat we de breedte van elke balk als eerste parameter hebben opgegeven en dat de balk 0 . is verschoven.5 waarden van de vorige.

We kunnen deze staafdiagramconstructie combineren met de Panda's-bibliotheek om dit meer aan te passen, maar we zullen het in een andere les over Panda's behandelen cover.

Distributies met histogrammen

Histogrammen worden vaak verward met staafdiagrammen. Het meest fundamentele verschil ligt in hun use-case. Staafdiagrammen worden gebruikt om vergelijkingen tussen gegevens tot stand te brengen, terwijl histogrammen worden gebruikt om gegevensdistributie te beschrijven describe.

Laten we bijvoorbeeld het voorbeeld voor leerlingcijfers opnieuw toepassen, maar deze keer kijken we alleen naar de gemiddelde cijfers van leerlingen en kijken we hoe deze zijn verdeeld. Hier is het codefragment, dat erg lijkt op het vorige voorbeeld:

bakken = [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('Bereik')
plt.ylabel('Markeringen')
plt.titel('Vergelijking')
plt.tonen()

Het histogram dat met bovenstaande voorbeeldgegevens is gemaakt, ziet er als volgt uit:

De Y-as laat hier zien hoeveel leerlingen dezelfde cijfers hebben gekregen als de gegevens voor de constructie.

Een spreidingsplot maken

Als het gaat om het vergelijken van meerdere variabelen en het vaststellen van hun effect op elkaar, is Scatterplot een goede manier om hetzelfde te presenteren. Hierin worden gegevens weergegeven als punten met de waarde van één variabele die wordt weergegeven door de horizontale as en de waarde van de tweede variabele bepaalt de positie van het punt op de verticale as.

Laten we eens kijken naar een eenvoudig codefragment om hetzelfde te beschrijven:

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 Hoog scorende studenten',color='r')
plt.scatter(x1,y1,label='10 Laag scorende studenten',color='b')
plt.xlabel('Markeringen')
plt.ylabel('Aantal leerlingen')
plt.titel ('Scatterplot')
plt.legende()
plt.tonen()

Het spreidingsplot dat met bovenstaande voorbeeldgegevens is gemaakt, ziet er als volgt uit:

Gebiedspercelen

De oppervlaktegrafieken worden voornamelijk gebruikt om veranderingen in gegevens in de loop van de tijd bij te houden. Ze worden in verschillende teksten ook wel stackplots genoemd. Als we bijvoorbeeld een weergave willen maken van de tijd die een student op één dag aan elk vak besteedt, is hier de code waarmee we hetzelfde kunnen doen:

dagen = [1,2,3,4,5]
natuurkunde =[2,8,6,5,7]
python = [5,4,6,4,1]
r =[7,9,4,3,1]
wiskunde = [8,5,7,8,13]
plt.plot([],[],color='m', label='Natuurkunde', 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(dagen, natuurkunde, python, r, wiskunde, kleuren=['g','k','r','b'])
plt.xlabel('x')
plt.ylabel('y')
plt.titel('Stapelplot')
plt.legende()
plt.tonen()

Het gebiedsplot dat met bovenstaande voorbeeldgegevens is gemaakt, ziet er als volgt uit:

De bovenstaande output stelt duidelijk een verschil vast in de tijd die een student in elk vak besteedt, met een duidelijke manier om het verschil en de verdeling te geven.

Taartpunten

Als we het hele onderdeel in meerdere delen willen opsplitsen en de hoeveelheid willen beschrijven die elk onderdeel inneemt, is een cirkeldiagram een ​​goede manier om deze presentatie te maken. Het wordt gebruikt om het percentage gegevens in de volledige gegevensset weer te geven. Hier is een basiscodefragment om een ​​eenvoudig cirkeldiagram te maken:

labels = 'Python', 'C++', 'Ruby', 'Java'
maten = [225, 130, 245, 210]
kleuren = ['r', 'b', 'g', 'c']
exploderen = (0.1, 0, 0, 0)  # explodeer 1e plak
# Verhaal
plt.taart (maten, explode=explode, labels=labels, kleuren=kleuren,
autopct='%1.1f%%', schaduw=waar, sterhoek=140)
plt.as('gelijk')
plt.tonen()

Het cirkeldiagram dat met bovenstaande voorbeeldgegevens is gemaakt, ziet er als volgt uit:

In bovenstaande secties hebben we gekeken naar verschillende grafische componenten die we kunnen bouwen met de Matplotlib-bibliotheek om onze gegevens in verschillende vormen weer te geven en verschillen op een intuïtieve manier vast te stellen terwijl ze statistisch zijn.

Functies en alternatieven voor Matplotlib

Een van de beste eigenschappen van matplotlib is dat het op veel besturingssystemen en grafische backends kan werken. Het ondersteunt tientallen besturingssystemen en grafische uitvoer die we in deze les hebben bekeken. Dit betekent dat we erop kunnen rekenen als het gaat om het leveren van een output op een manier die we nodig hebben.

Er zijn verschillende andere bibliotheken aanwezig die kunnen concurreren met matplotlib, zoals:

  1. Zeehoorn
  2. samenzwering
  3. Ggplot2

Hoewel bovengenoemde bibliotheken enkele geavanceerde manieren kunnen presenteren om gegevens op een grafische manier te beschrijven en te presenteren, maar er is geen ontkenning van de eenvoud en effectieve aard van de matplotlib-bibliotheek.

Conclusie

In deze les hebben we gekeken naar verschillende aspecten van deze datavisualisatiebibliotheek die we met Python kunnen gebruiken om mooie en intuïtieve grafieken te genereren die gegevens kunnen visualiseren in een vorm die bedrijven van een platform willen. De Matplotlib is een van de belangrijkste visualisatiebibliotheken als het gaat om data-engineering en het presenteren van gegevens in de meeste visuele vormen, absoluut een vaardigheid die we onder onze riem moeten hebben.

Deel uw feedback over de les op Twitter met @sbmaggarwal en @LinuxHint.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...