CSV datoteke su zgodne zbog svoje jednostavnosti i prenosivosti, neučinkovite su za prikaz ili analizu velikih količina podataka; međutim, ne prikazuju vizualno podatke.
Zasluga slike: SARINYAPINNGAM/iStock/GettyImages
Većina aplikacija za baze podataka i proračunske tablice mogu jednostavno izvesti tablične podatke u obliku CSV (vrijednosti odvojenih zarezima) datoteka. Iako su CSV datoteke zgodne zbog svoje jednostavnosti i prenosivosti, one su neučinkovite za prikaz ili analizu velikih količina podataka. Da bi prevladao ovo ograničenje, programer može koristiti programski jezik Python i matplotlib za crtanje podatke iz CSV datoteke i stvorite čitljiv, vizualno atraktivan grafikon prikladan za web ili ispis objavljivanje.
Priprema za crtanje CSV podataka
Prije nego što zapravo nacrtate CSV datoteku u Pythonu, provjerite imate li sve potrebne alate i izradite testnu datoteku. To uključuje instaliranje Pythona i potrebnih knjižnica, kao i CSV datoteku koja sadrži dva stupca brojčanih podataka.
Video dana
Korak 1: Napravite testnu datoteku
Prvo otvorite uređivač teksta i stvorite jednostavnu CSV datoteku za testiranje. Uzorak bi mogao izgledati ovako:
1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3
Korak 2: Uvezite potrebne biblioteke
Sada ste spremni uvesti potrebne python biblioteke u svoju datoteku koda s ovim redkom koda:
import matplotlib.pyplot kao plt import csv import sys
Iscrtajte graf u Pythonu iz CSV-a
Nakon što je vaša priprema maknuta s puta, sada možete početi zapravo koristiti Python za crtanje grafa iz CSV datoteke.
Korak 1: Stvorite Reader objekt
Otvorite CSV datoteku i iz nje stvorite objekt čitača. Deklarirajte varijable za definiranje gornje i donje granice za vrijednosti osi x i y grafa:
csv_reader = csv.reader (open('test.csv')) bigx = float(-sys.maxint -1) bigy = float(-sys.maxint -1) smallx = float (sys.maxint) smally = float (sys .maxint)
2. korak: ponavljajte redove
Iterirajte preko svakog retka sadržanog u objektu čitača pohranjujući svaki red kao vrh u nizu vrhova. U istoj petlji usporedite vrijednosti x i y kako biste pohranili njihove gornje i donje granice. Sortirajte niz vrhova i zatim ga ponovno prođite kroz petlju. Ovaj put pohranite sortirane vrijednosti x i y u zasebne nizove:
verts = [] za red u csv_readeru: verts.append (red) ako float (red[0]) > bigx: bigx = float (red[0]) ako float (red [1]) > bigy: bigy = float ( redak [1]) ako float (red [0]) < smallx: smallx = float (red [0]) ako float (red [1]) < smally: smally = float (red [1]) verts.sort() x_arr = [] y_arr = [] za vert u verts: x_arr .dodati (vert[0]) y_arr.dodati (verzija[1])
Korak 3: Napravite objekt FigureCanvas
Napravite objekt FigureCanvas koristeći uvezeni matplotlib pyplot objekt. Dodajte osi grafa na FigureCanvas tako što ćete pozvati funkciju add_axes i proslijediti joj niz vrijednosti u obliku: lijevo, dno, širina, visina. Ove vrijednosti definiraju gdje se graf nalazi na platnu — mogu se kretati od 0,0 do 1,0:
fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
Korak 4: Formatirajte grafikon
Oblikujte grafikon dodavanjem oznaka i definiranjem minimalnih i maksimalnih vrijednosti za svaku os:
ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (malo, veliko)
Korak 5: Nacrtajte graf
Nacrtajte graf prosljeđivanjem dva niza koji sadrže vrijednosti x i y dohvaćene iz CSV datoteke. Prilagodite linijski crtež prosljeđivanjem neobaveznih vrijednosti kao što su boja linije (boja) ili širina linije (lw). Prikažite gotov graf pozivanjem metode show za otvaranje prozora i pohranjivanje slike pozivom savefig da biste stvorili bitmap datoteku na disku:
ax.plot (x_arr, y_arr, boja='plava', lw=2) plt.show() fig.savefig('test.png')
Važna razmatranja za datoteke
Za stvaranje datoteka koje Python interpreter može čitati morate koristiti ascii uređivač teksta ili koda koji stvara datoteke samo s tekstom. Slike grafikona možete pohraniti u mnogo različitih formata slika uključujući: png, pdf, ps i svg.
Pogledajte Matplotlib dokumentaciju
Neki aspekti instalacije i funkcionalnosti knjižnice matplotlib razlikuju se na različitim računalnim platformama. Pažljivo pročitajte dokumentaciju. Knjižnica može prikazati brojčane podatke na veliki broj načina i može se fino prilagoditi. Bit će potrebno temeljito čitanje dokumentacije da biste postali stručni.