Ako previesť súbor CSV na graf v Pythone

click fraud protection
Vývojový programátor Team Development Dizajn webových stránok a technológie kódovania pracujúci v kancelárii softvérovej spoločnosti

Súbory CSV sú praktické pre svoju jednoduchosť a prenosnosť, sú neúčinné na zobrazenie alebo analýzu veľkého množstva údajov; údaje však nezobrazujú vizuálne.

Kredit za obrázok: SARINYAPINNGAM/iStock/GettyImages

Väčšina databázových a tabuľkových aplikácií dokáže pohodlne vytlačiť údaje z tabuľky vo forme súborov CSV (hodnoty oddelené čiarkou). Aj keď sú súbory CSV praktické kvôli ich jednoduchosti a prenosnosti, sú neúčinné na zobrazenie alebo analýzu veľkého množstva údajov. Na prekonanie tohto obmedzenia môže programátor na vykreslenie použiť programovací jazyk Python a matplotlib dáta zo súboru CSV a vytvorte čitateľný, vizuálne atraktívny graf vhodný pre web alebo tlač zverejnenie.

Príprava na vykreslenie údajov CSV

Predtým, ako skutočne vykreslíte súbor CSV v Pythone, budete sa chcieť uistiť, že máte všetky potrebné nástroje a vytvoriť testovací súbor. To zahŕňa inštaláciu Pythonu a potrebných knižníc, ako aj súbor CSV, ktorý obsahuje dva stĺpce číselných údajov.

Video dňa

Krok 1: Vytvorte testovací súbor

Najprv otvorte textový editor a vytvorte jednoduchý súbor CSV na testovanie. Ukážka môže vyzerať takto:

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

Krok 2: Importujte potrebné knižnice

Teraz ste pripravení importovať potrebné knižnice pythonu do súboru kódu pomocou tohto riadku kódu:

import matplotlib.pyplot as plt import csv import sys

Vykreslenie grafu v jazyku Python z CSV

S prípravou mimo cesty môžete teraz začať skutočne používať Python na kreslenie grafu zo súboru CSV.

Krok 1: Vytvorte objekt čítačky

Otvorte súbor CSV a vytvorte z neho objekt čítačky. Deklarujte premenné na definovanie hornej a dolnej hranice hodnôt na osi x a y grafu:

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)

Krok 2: Iterácia cez riadky

Iterujte cez každý riadok obsiahnutý v objekte čítačky a uložte každý riadok ako vrchol v poli vrcholov. V tej istej slučke porovnajte hodnoty x a y, aby ste uložili ich hornú a dolnú hranicu. Zoraďte pole vertexov a potom ho znova precyklujte. Tentokrát uložte zoradené hodnoty x a y do samostatných polí:

verts = [] pre riadok v csv_reader: verts.append (riadok) ak float (riadok[0]) > bigx: bigx = float (riadok[0]) ak float (riadok[1]) > bigy: bigy = float ( riadok[1]) ak float (riadok[0]) < smallx: smallx = float (riadok[0]) if float (riadok[1]) < smally: smally = float (riadok[1]) verts.sort() x_arr = [] y_arr = [] pre vert in verts: x_arr .append (vert[0]) y_arr.append (vert[1])

Krok 3: Vytvorte objekt FigureCanvas

Vytvorte objekt FigureCanvas pomocou importovaného objektu pyplot matplotlib. Pridajte osi grafu na FigureCanvas zavolaním funkcie add_axes a odovzdaním poľa hodnôt v tvare: vľavo, dole, šírka, výška. Tieto hodnoty definujú, kde je graf umiestnený na plátne — môžu sa pohybovať od 0,0 do 1,0:

fig = plt.figure() ax = fig.add_axes([0,1, 0,1, 0,8, 0,8])

Krok 4: Formátovanie grafu

Naformátujte graf pridaním štítkov a definovaním minimálnych a maximálnych hodnôt pre každú os:

ax.set_xlabel('x údaje') ax.set_ylabel('y údaje') ax.set_xlim (smallx, bigx) ax.set_ylim (malý, veľký)

Krok 5: Nakreslite graf

Nakreslite graf vložením dvoch polí obsahujúcich hodnoty x a y získané zo súboru CSV. Prispôsobte čiarový graf zadaním voliteľných hodnôt, ako je farba čiary (farba) alebo šírka čiary (lw). Zobrazte hotový graf volaním metódy show na otvorenie okna a uložte obrázok volaním savefig na vytvorenie bitmapového súboru na disku:

ax.plot (x_arr, y_arr, color='modrá', lw=2) plt.show() fig.savefig('test.png')

Dôležité úvahy pre súbory

Ak chcete vytvoriť súbory, ktoré interpret Pythonu dokáže prečítať, musíte použiť textový editor ASCII alebo editor kódu, ktorý vytvára iba textové súbory. Obrázky grafov môžete ukladať v mnohých rôznych formátoch obrázkov vrátane: png, pdf, ps a svg.

Pozrite si dokumentáciu Matplotlib

Niektoré aspekty inštalácie a funkčnosti knižnice matplotlib sa líšia na rôznych počítačových platformách. Pozorne si prečítajte dokumentáciu. Knižnica môže zobrazovať číselné informácie veľkým množstvom spôsobov a môže byť jemne prispôsobená. Aby ste sa zdokonalili, bude potrebné dôkladné prečítanie dokumentácie.