În calitate de cercetător care scrie în mod regulat publicații, mă confruntă frecvent cu problema producerii de grafice îngrijite. Acest lucru nu a fost întotdeauna ușor pentru mine și a trebuit să folosesc instrumentele disponibile în cel mai bun mod posibil, dar nu eram mulțumit de graficele pe care le-am produs de cele mai multe ori. Întotdeauna m-am întrebat cum alți cercetători au produs graficele lor înguste!
Această problemă a început să scadă după ce am dat peste biblioteca Python, matplotlib
, care produce astfel de grafice îngrijite. Așa cum am menționat pe site-ul bibliotecii:
matplotlib
este o bibliotecă de planificare 2D python care produce date despre calitatea publicării într-o varietate de formate tipărite și medii interactive pe platforme.matplotlib
poate fi folosit în scripturile python, shell-ul python și ipython (ala MATLAB® * sau Mathematica®), servere de aplicații web și șase seturi de instrumente de interfață grafică.matplotlib
încearcă să facă lucruri ușoare lucruri ușoare și grele posibile. Puteți genera parcele, histograme, spectre de putere, bare grafice, erori de eroare, scatterploturi etc., cu doar câteva rânduri de cod.
În acest tutorial, vă voi arăta cum să instalați matplotlib
, și apoi vă voi face câteva exemple.
Dacă sunteți interesat să săturați mai adânc în Python și să învățați cum să utilizați puterea lui Python de a gestiona datele, de ce nu verificați aceste două cursuri:
instalarea matplotlib
este foarte simplu. În prezent, lucrez la o mașină Mac OS X, așa că vă voi arăta cum să instalați biblioteca pe acest sistem de operare. Consultați pagina de instalare matplotlib pentru mai multe informații despre instalare matplotlib
pe alte sisteme de operare.
matplotlib
poate fi instalat prin rularea următoarelor comenzi în Terminalul dvs. (voi utiliza pip, dar puteți folosi și alte instrumente):
curl-O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip instalare matplotlib
Asta e. Acum ai matplotlib
up and running. La fel de simplu ca asta!
Să ne uităm acum la câteva exemple de utilizare matplotlib
. Primul set de exemple va fi desenarea unor parcele de bază.
Să luăm în considerare un exemplu simplu de desenare a line utilizând matplotlib
. În acest caz, vom folosi matplotlib.pyplot
, care oferă un cadru de plotare asemănător MATLAB. Cu alte cuvinte, oferă o colecție de funcții de stil comandă care permit matplotlib
pentru a lucra ca MATLAB.
Să presupunem că am vrut să trasăm o linie pentru următorul set de puncte:
x = (4,8,13,17,20) y = (54, 67, 98, 78, 45)
Acest lucru se poate face folosind următorul script:
importul matplotlib.pyplot ca plt plt.plot ([4,8,13,17,20], [54, 67, 98, 78, 45]) plt.show ()
Observați că am reprezentat X
și y
puncte ca liste.
În acest caz, rezultatul va fi următorul:
Linia din figura de mai sus este linia implicită care este extrasă pentru noi, din punct de vedere al formei și culorii. Putem personaliza acest lucru prin schimbarea formei și culorii liniei folosind câteva simboluri (specificatori) din documentația graficului MATLAB. Deci, să spunem că am vrut să tragem a verde punctată line, cu caro markerii. Specificatorii de care avem nevoie în acest caz sunt: 'G - d'
. În scriptul de mai sus, plasăm specificatorii după cum urmează:
plt.plot ([4,8,13,17,20], [54,67,98,78,45], "g-d")
În acest caz, graficul liniei figurare va arăta după cum urmează:
Un complot scatter este un grafic care arată relația dintre două seturi de date, cum ar fi relația dintre vârstă și înălțime. În această secțiune, vă voi arăta cum putem desena un plan de împrăștiere folosind matplotlib
.
Să luăm două seturi de date, X
și y
, pentru care vrem să găsim relația lor (parcelă scatter):
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]
Parcela scatter poate fi desenată folosind următorul script:
import matplotlib.pyplot ca 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 ()
Rezultatul acestui script este:
Desigur, puteți schimba culoarea marcatorilor în plus față de alte setări, după cum se arată în documentație.
O histogramă este un grafic care afișează frecvența datelor utilizând barele, unde numerele sunt grupate în intervale. Cu alte cuvinte, frecvența fiecărui element de date din listă este afișată utilizând histograma. Se numesc numerele grupate sub formă de intervale pubele. Să examinăm un exemplu pentru a înțelege mai mult acest lucru.
Să presupunem că lista de date pentru care dorim să găsim histograma este după cum urmează:
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]
Scriptul Python pe care îl putem folosi pentru a afișa histograma pentru datele de mai sus este:
importul matplotlib.pyplot ca 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, bins, patch-uri = plt.hist (x, num_bins, facecolor = 'verde') plt.show ()
Când executați scriptul, ar trebui să obțineți ceva similar cu graficul următor (histogramă):
Există, desigur, mai mulți parametri pentru funcție hist ()
, așa cum se arată în documentație.
Acest tutorial a fost o zgârietură pe suprafață pentru a lucra cu grafice în Python. Mai sunt mai multe matplotlib
, și puteți face multe lucruri interesante cu această bibliotecă.
Dacă doriți să aflați mai multe despre matplotlib
și vedeți alte tipuri de figuri pe care le puteți crea cu această bibliotecă, un loc ar putea fi secțiunea de exemple din matplotlib
site-ul web. Există, de asemenea, câteva cărți interesante despre acest subiect, cum ar fi Mastering matplotlib și Matplotlib Plotting Cookbook.
După cum am văzut în acest tutorial, Python poate fi extins pentru a efectua activități interesante prin utilizarea bibliotecilor terțe părți. Am arătat un exemplu de astfel de bibliotecă, și anume matplotlib
.
Așa cum am menționat în introducerea acestui tutorial, producerea de grafice netede nu a fost o sarcină ușoară pentru mine, mai ales când doriți să prezentați astfel de grafice în publicațiile științifice. matplotlib
a dat soluția la această problemă, deoarece sunteți capabil nu numai să produci grafice frumoase într-o manieră simplă, dar și să aveți controlul (adică parametrii) asupra unor astfel de grafice deoarece utilizați un limbaj de programare pentru a genera graficele cazul nostru, Python.