Sfaturi despre cum să atragă un grafic cu contururile în gnuplot, GRI și pylab

Deja am vorbit despre cum să afișați date bidimensionale utilizând suprafețe de nivel gnuplot. Astăzi vă voi arăta un alt mod de a afișa datele bidimensionale în diagramă: cu linii de contur. la fel ca și înălțimea desemnat pe carduri.

Voi arăta cum să-l facă pe exemplul de doar trei instrumente gratuite: gnuplot. GRI și matplotlib (aka pylab). Este aceste trei programe pe care le folosesc cel mai des. Textul va furniza link-uri către script-ul complet este utilizat pentru a genera graficul, explică același lucru va fi cel mai de bază. Toate elementele grafice voi construi în opțiunea chornobelom, păstrând în format EPS. Ilustrații pentru acest articol a primit EPS de conversie ulterioare PNG.

Deci, având în vedere un fișier de date sampledata.txt. valori ale lui x, y, z în trei coloane, matrice de 80 × 80 pixeli, fiecare viitoare „coloană“ grilă (după valoarea x) este separat de cel anterior printr-o linie goală. Fișierele din acest format utilizează gnuplot (pentru GRI și necesitatea pylab pentru a converti formatul). Obiectiv: de a construi un grafic cu contururi de valoare constantă z.

Deci, modul în primul rând,

am complot un contur în gnuplot

Aici, totul este ușor. Oprirea suprafețelor de construcție includ contururi de construcții, includ „vedere de sus“, pentru a alege nivelurile Velim automat: suprafata unset
set contur
set Vizualizare hartă
set niveluri cntrparam auto 10 Puteți seta niveluri și contururile manual: set niveluri cntrparam Nivel discret 1, Level 2, Level 3, ... Acum, echipa
splot „sampledata.txt“ w l va construi un grafic contur. Și asta e ceea ce rezultatul este în gnuplot implicit:

Sfaturi despre cum să atragă un grafic cu contururile în gnuplot, GRI și pylab

(I a alerga gnuplot ca: $ gnuplot plotiso_gnulot.txt)

am complot un contur în GRI

Sincer, cred că se ocupă de contururi GRI mai bine decât gnuplot. Oricum, aici, spre deosebire de a gnuplot, valorile pot fi direct pe eticheta de Izoliniile, și există o șansă reală de a controla culorile contururile menținând în același timp EPS (utilizatorii gnuplot în această locație va fi o surpriza). Astfel, instrumentul GRI rămâne destul de simplu de înțeles.

Mici obstacol constă numai în faptul că aveți nevoie pentru a converti formatul de date. GRI doresc fiecare rând de date a fost separată ca o linie separată în fișierul, iar punctele sunt separate printr-un spațiu. Aici Folosesc această ocazie GRI, ca date de citire de la UNIX „halfpipe“, și de a face tot conversia necesară pe zbor folosind awk: deschis „awk„/ [^ s] / / ^ \ S * $ / „Sampledata.txt |"
Date de rețea citite 80 80 bycolumns
Clădire închide conturul în sine este destul de simplu: contur remiză Asta devine GRI:

Sfaturi despre cum să atragă un grafic cu contururile în gnuplot, GRI și pylab

(GRI am fugit, astfel: $ GRI -b -output iso_gri.eps

construi contururi în matplotlib / pylab

matplotlib - o bibliotecă pentru piton. Acesta poate fi utilizat fie interactiv, începând cu ipython -pylab. și în script-ul normale; Sintaxă complot aproape de MATLAB sintaxa, dar puteți utiliza caracteristicile complete Python. A oportunități în matplotlib foarte decent.

Izolinii sunt construite cu o singură comandă: CSET = contur (X, Y, Z), în care X, Y, Z - trebuie sa fie tablouri bidimensionale de aceeași dimensiune. În plus, în script-ul am oprit liniile de contur implicite de colorat pentru a desena toate liniile de contur în negru (opțiune culori = „negru“). Alte opțiuni folosesc contur pot fi găsite în ajutor contur. dacă rulați ipython -pylab.
O altă echipă adaugă semnătura liniilor de contur: clabel (CSET, FMT = „% 1.1f“, FONTSIZE = 9) Salvați rezultatul în formatul de fișier dorit, de asemenea, pur și simplu: savefig ( „pylab.eps“) Restul liniilor din script - aceasta este conversia formatului datelor unelte Python. Adăugarea: noile versiuni SciPy acest script poate fi simplificat foarte mult dacă vom folosi funcția loadtxt (). încărcarea datelor dintr-un fișier text. Ceea ce avem nevoie. Asta e ceea ce se întâmplă în cele din urmă:

Sfaturi despre cum să atragă un grafic cu contururile în gnuplot, GRI și pylab

(Am fugit script, astfel: $ python plotiso_pylab.txt)


Desigur, alegerea unui anumit instrument - o chestiune de comoditate (cerințele privind formatul de date disponibile pentru subtilitățile setări grafice, timpul disponibil, utilizarea experienței). Am vrut să arăt că există o mulțime de a alege și de a construi pe liniile de contur complot cu oricare dintre cele trei programe revizuite - o chestiune de două sau trei rânduri. Pentru a îmbunătăți rezultatele și ajustați subtilitățile de afișare poate fi lung. În opinia mea, în cazul conturare, matplotlib GRI și să ofere mai multe oportunități.

A se vedea, de asemenea, .: