Vi presenterer Pythons Matplotlib Library

Som forsker som regelmessig skriver publikasjoner, står jeg ofte overfor spørsmålet om å produsere pene grafer. Dette var ikke alltid lett for meg, og jeg måtte bruke de tilgjengelige verktøyene på den beste måten jeg kunne, men jeg var ikke fornøyd med grafene jeg produserte mesteparten av tiden. Jeg pleide alltid å lure på hvordan andre forskere produserte sine pene grafer!

Dette problemet begynte å minske etter at jeg kom over Pythons bibliotek, matplotlib, som produserer slike pene grafer. Som nevnt på bibliotekets hjemmeside:

matplotlib er et python 2D-plotting-bibliotek som produserer publikasjonskvalitetstall i en rekke hardcopyformater og interaktive miljøer på tvers av plattformer. matplotlib kan brukes i pythonskript, python og ipython skallet (ala MATLAB® * eller Mathematica®), webapplikasjonsservere og seks grafiske brukergrensesnittverktøy. matplotlib prøver å gjøre enkle ting enkle og vanskelige ting mulig. Du kan generere tomter, histogrammer, strømspekter, bardiagrammer, errorcharts, scatterplots, etc, med bare noen få linjer med kode. 

I denne opplæringen skal jeg vise deg hvordan du installerer matplotlib, og så vil jeg gå gjennom noen eksempler.

Hvis du er interessert i å grave dypere inn i Python og lære å bruke Pythons kraft til å håndtere data, hvorfor ikke sjekke disse to kursene:

Installere matplotlib

installere matplotlib er veldig enkelt. Jeg jobber for tiden på en Mac OS X-maskin, så jeg vil vise deg hvordan du installerer biblioteket på det operativsystemet. Vennligst se installasjonssiden for matplotlib for mer informasjon om installering matplotlib på andre operativsystemer.

matplotlib kan installeres ved å kjøre følgende kommandoer i Terminal (jeg skal bruke pip, men du kan bruke andre verktøy):

krølle -O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip installere matplotlib

Det er det. Du har nå matplotlib oppe og går. Like enkelt som det!

Tegning grunnleggende tomter

La oss nå se på noen eksempler på bruk matplotlib. Det første settet med eksempler vil være på å tegne noen grunnleggende tomter.

Line Plot

La oss vurdere et enkelt eksempel på å tegne a line plot ved hjelp av matplotlib. I dette tilfellet skal vi bruke matplotlib.pyplot, som gir et MATLAB-lignende plottingsramme. Det gir med andre ord en samling kommandostilfunksjoner som aktiverer matplotlib å jobbe som MATLAB.

La oss si at vi ønsket å plotte en linje for følgende sett med poeng: 

x = (4,8, 13,17,20) y = (54, 67, 98, 78, 45)

Dette kan gjøres ved å bruke følgende skript:

importer matplotlib.pyplot som plt plt.plot ([4,8,13,17,20], [54, 67, 98, 78, 45]) plt.show ()

Legg merke til at vi representerte x og y poeng som lister.

I dette tilfellet vil resultatet bli som følger:

Linjen i figuren over er standardlinjen som blir trukket for oss, når det gjelder form og farge. Vi kan tilpasse det ved å endre formen og fargen på linjen ved hjelp av noen symboler (spesifiserer) fra MATLAB plot dokumentasjonen. Så la oss si at vi ønsket å tegne en grønn stiplede linje med diamanter markørerSpesifikatene vi trenger i dette tilfellet er: 'G - d'. I vårt skript ovenfor legger vi spesifiseringspunktene slik:

plt.plot ([4, 8, 13, 17, 20], [54, 67, 98, 78, 45], 'g-d')

I så fall ser figurlinjeproten ut som følger:

Scatter Plot

Et spredningsdiagram er en graf som viser forholdet mellom to sett med data, for eksempel forholdet mellom alder og høyde. I denne delen skal jeg vise deg hvordan vi kan tegne en scatterplot med matplotlib.

La oss ta to sett med data, x og y, som vi ønsker å finne forholdet deres (scatter plot):

x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72, 43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54]

Spredningsdiagrammet kan tegnes ved hjelp av følgende skript:

importer matplotlib.pyplot som plt x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72,43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54] plt.scatter (x, y) plt.show ()

Utgangen av dette skriptet er:

Selvfølgelig kan du endre fargen på markørene i tillegg til andre innstillinger, som vist i dokumentasjonen.

histogrammer

Et histogram er en graf som viser frekvensen av data ved hjelp av barer, hvor tall er gruppert i områder. Med andre ord vises hyppigheten til hvert dataelement i listen ved hjelp av histogrammet. De grupperte tallene i form av intervaller kalles binger. La oss se på et eksempel for å forstå dette mer.

La oss si at listen over data vi vil finne histogrammet for, er som følger:

x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89,45,3,23 , 2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,444,234,76,432,233,23,232,243,222,221,254,222,276,300,353,354,387,364,309] 

Python-skriptet vi kan bruke til å vise histogrammet for de ovennevnte dataene er:

importer matplotlib.pyplot som plt x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89 , 45,3,23,2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,444,234,76,432,233,23,232,243,222,221,254,222,276,300,353,354,387,364,309] num_bins = 6 n, skuffer, patches = plt.hist (x, num_bins, facecolor = 'green') plt.show ()

Når du kjører skriptet, bør du få noe som ligner på følgende graf (histogram):

Det er selvfølgelig flere parametere for funksjonen hist (), som vist i dokumentasjonen.

Videre lesning

Denne opplæringen var en skrape på overflaten for å arbeide med grafer i Python. Det er mer til matplotlib, og du kan gjøre mange interessante ting med dette biblioteket. 

Hvis du vil lære mer om matplotlib og se andre typer figurer du kan opprette med dette biblioteket, kan ett sted være eksempler av matplotlib nettside. Det er også noen interessante bøker om emnet, for eksempel Mastering matplotlib og Matplotlib Plotting Cookbook. 

Konklusjon

Som vi så i denne opplæringen, kan Python utvides til å utføre interessante oppgaver ved å benytte tredjepartsbiblioteker. Jeg har vist et eksempel på et slikt bibliotek, nemlig matplotlib

Som jeg nevnte i introduksjonen til denne opplæringen, var det ikke en lett oppgave å produsere flotte grafer, særlig når du vil presentere slike grafer i vitenskapelige publikasjoner. matplotlib ga løsningen på dette problemet, fordi du ikke bare kan lage flotte grafer på en enkel måte, men også å ha kontrollen (dvs. parametere) over slike grafer, siden du bruker et programmeringsspråk for å generere grafene dine vår sak, Python.