Matplotlib (pylab) lucruri simple, note ale unui oceanolog - prelucrarea și vizualizarea datelor

Sarcină: obțineți o grafică de înaltă calitate fără a lăsa Python
.?Instrument: Matplotlib

Prin acest post, încep o serie de traduceri gratuite ale unor fragmente de documentație selectate pentru Matplotlib.
Aceasta este o bibliotecă Python pentru crearea de diagrame bidimensionale de înaltă calitate (calitate publicație). Ea se face cu un astfel de calcul, astfel încât tranziția la aceasta a produs dificultăți minime utilizatorilor experimentați ai Mathlab. După cum afirmă site-ul bibliotecii, Matplotlib încearcă să facă simple lucruri simple și complexe.

Cum arată grafica creată aici?
Cum se instalează biblioteca pe care am scris-o deja în postul anterior

Să începem cu un grafic simplu și să controlam proprietățile liniei.

Fiecare funcție face diferite modificări cu imaginea, de exemplu creează o imagine, creează o zonă de desen pe imagine, trage linii în zona de construcție, adaugă legende și așa mai departe. În acest caz, matplotlib.pyplot urmărește starea imaginii curente și zona de construcție, astfel încât funcțiile de desen sunt aplicate axelor curente.

import matplotlib. pyplot ca plt
PLT. intrigă # 40; # 91; 1. 2. 3 # 93; # 41;
PLT. ylabel # 40; "unele numere" # 41;
PLT. spectacol # 40; # 41;

Matplotlib (pylab) lucruri simple, note ale unui oceanolog - prelucrarea și vizualizarea datelor

Se poate pune întrebarea de ce avem valori de la 0 la 2 pe axa x și de la 1 la 3 pe y. Dacă treceți o listă sau un tabel la comanda plot (). atunci matplotlib îl tratează ca o succesiune de valori y și generează automat valorile lui x. Din moment ce python începe să numere de la 0, în mod implicit vectorul x are aceeași lungime ca y. dar începe de la zero. Astfel, datele x vor fi [0,1,2].

plot () este o comandă universală și un număr arbitrar de argumente poate fi transmis acesteia. De exemplu, pentru a afișa y în funcție de x. puteți rula următoarea comandă:

PLT. intrigă # 40; # 91; 1. 2. 3. 4 # 93;. # 91; 1. 4. 9. 16 # 93; # 41;

Pentru fiecare pereche de argumente xy. Există un al treilea argument opțional, un șir de formate care specifică culoarea și tipul liniei. Literele și simbolurile șirului format sunt aceleași ca în matlab și, de asemenea, cum combinați literele și simbolurile care definesc culoarea și tipul liniei. Implicit, șirul formatare arată ca. B -.?. ceea ce înseamnă o linie albastră continuă. Pentru a afișa datele din exemplul anterior cu cercuri roșii, trebuie să introduceți

import matplotlib. pyplot ca plt
PLT. intrigă # 40; # 91; 1. 2. 3. 4 # 93;. # 91; 1. 4. 9. 16 # 93;. 'Ro' # 41;
PLT. axă # 40; # 91; 0. 6. 0. 20 # 93; # 41;

Matplotlib (pylab) lucruri simple, note ale unui oceanolog - prelucrarea și vizualizarea datelor

O listă completă de stiluri poate fi găsită pe pagina de documentare a comenzii plot (). Comanda axa () ia ca argumente [xmin, xmax, ymin, ymax] care stabilește limitele minime și maxime ale axei.

Dacă matplotlib ar putea funcționa numai cu liste, ar fi destul de inutil pentru prelucrarea datelor. În mod normal, veți utiliza matrice ample. De fapt, în interiorul matplotlib, toate datele sunt transferate la matricile numuse. Exemplul de mai jos construiește mai multe linii din datele din matrice, fiecare având formatul propriu folosind o singură comandă (bineînțeles că ar trebui să aveți instalat deja numpy).

import numpy ca np
import matplotlib. pyplot ca plt

# valori uniform distribuite de la 0 la 5, în incremente de 0,2
t = np. rază de acțiune # 40; 0. 5 # 41;

# linii roșii, pătrate albastre și triunghiuri verzi
PLT. intrigă # 40; T. T. 'R--'. T. t ** 2. "bs". T. t ** 3. 'g ^' # 41;

Matplotlib (pylab) lucruri simple, note ale unui oceanolog - prelucrarea și vizualizarea datelor

Proprietățile liniei

Linile au multe atribute pe care le puteți seta: grosime, stil, antialiasing și așa mai departe. Pentru detalii, consultați documentația matplotlib.lines.Line2D. există mai multe moduri de a seta proprietățile liniei

  1. .?Utilizați cuvintele cheie, adică scrieți o proprietate și asociați-o cu valoarea:

PLT. intrigă # 40; x. y. linewidth = 2.0 # 41;

  • .?Utilizați comanda setp (). Exemplul de mai jos utilizează o sintaxă asemănătoare cu Matlab pentru a seta mai multe proprietăți pentru o listă de linii. setp funcționează atât cu o listă de obiecte, cât și cu un singur obiect. Puteți utiliza fie argumentele pentru cuvinte cheie, fie șirul / valoarea stilului Matlab.

    linii = plt. intrigă # 40; x1. y1. x2. y2 # 41;
    #use argumente de cuvinte cheie
    PLT. setp # 40; linii. culoare = 'r'. linewidth = 2.0 # 41;
    # sau perechi de valori pentru șir de caractere de tip matlab
    PLT. setp # 40; linii. 'Color'. 'R'. 'Linewidth'. 2.0 # 41;

  • Există oa treia cale, dar încă nu o înțeleg și trimit oameni interesați de sursă.
  • Data viitoare vom vorbi despre mai multe grafice și axe într-o singură imagine și despre lucrul cu textul.

    1 Comentariu până acum

    A treia metodă se bazează pe faptul că plot () returnează o tuplă de obiecte, adică puteți face acest lucru:

    linia1, linia2 = graficul (x1, y1, x2, x2)

    și apoi accesați proprietățile obiectului apelând metodele sale.

    line, = plt.plot (x, y, '-')
    line.set_antialiased (False) # dezactivarea anti-aliasing

    virgul după linie, este necesar pentru a atribui o variabilă unui obiect și nu unei tuple de la un obiect.

    Postarea comentariului dvs.