Jak převést soubor CSV na graf v Pythonu

Vývojový programátor Team Development Design webových stránek a technologie kódování pracující v kanceláři softwarové společnosti

Soubory CSV jsou užitečné pro svou jednoduchost a přenositelnost, jsou neúčinné pro zobrazení nebo analýzu velkého množství dat; data však nezobrazují vizuálně.

Kredit obrázku: SARINYAPINNGAM/iStock/GettyImages

Většina databázových a tabulkových aplikací může pohodlně vydávat tabulková data ve formě souborů CSV (comma-separated-values). Soubory CSV jsou sice praktické díky své jednoduchosti a přenositelnosti, ale pro zobrazení nebo analýzu velkého množství dat jsou neúčinné. K překonání tohoto omezení může programátor k vykreslení použít programovací jazyk Python a matplotlib data ze souboru CSV a vytvořit čitelný, vizuálně atraktivní graf vhodný pro web nebo tisk vydání.

Příprava na vynesení dat CSV

Než skutečně vykreslíte soubor CSV v Pythonu, budete se chtít ujistit, že máte všechny potřebné nástroje, a vytvořit testovací soubor. To zahrnuje instalaci Pythonu a nezbytných knihoven a také soubor CSV, který obsahuje dva sloupce číselných dat.

Video dne

Krok 1: Vytvořte testovací soubor

Nejprve otevřete textový editor a vytvořte jednoduchý soubor CSV pro testování. Ukázka může vypadat 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 potřebné knihovny

Nyní jste připraveni importovat potřebné pythonové knihovny do souboru kódu pomocí tohoto řádku kódu:

import matplotlib.pyplot as plt import csv import sys

Vykreslit graf v Pythonu z CSV

S vaší přípravou z cesty můžete nyní začít skutečně používat Python ke kreslení grafu ze souboru CSV.

Krok 1: Vytvořte objekt čtečky

Otevřete soubor CSV a vytvořte z něj objekt čtečky. Deklarováním proměnných definujte horní a dolní mez hodnot na ose 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: Iterujte přes řádky

Iterujte přes každý řádek obsažený v objektu čtečky a uložte každý řádek jako vrchol v poli vrcholů. Ve stejné smyčce porovnejte hodnoty x a y za účelem uložení jejich horní a dolní meze. Seřaďte pole vertexů a poté je znovu projděte. Tentokrát uložte seřazené hodnoty x a y do samostatných polí:

verts = [] pro řádek v csv_reader: verts.append (řádek) if float (řádek[0]) > bigx: bigx = float (řádek[0]) if float (řádek[1]) > bigy: bigy = float ( řádek[1]), pokud plovoucí (řádek[0]) < smallx: smallx = float (řádek[0]) if float (řádek[1]) < smally: smally = float (řádek[1]) verts.sort() x_arr = [] y_arr = [] pro vert in verts: x_arr .append (vert[0]) y_arr.append (vert[1])

Krok 3: Vytvořte objekt FigureCanvas

Vytvořte objekt FigureCanvas pomocí importovaného objektu pyplot matplotlib. Přidejte osy grafu do FigureCanvas voláním funkce add_axes a předáním pole hodnot ve tvaru: left, bottom, width, height. Tyto hodnoty definují, kde je graf umístěn na plátně — mohou se pohybovat od 0,0 do 1,0:

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

Krok 4: Naformátujte graf

Naformátujte graf přidáním popisků a definováním minimální a maximální hodnoty pro každou osu:

ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (malý, velký)

Krok 5: Nakreslete graf

Vykreslete graf vložením dvou polí obsahujících hodnoty x a y načtené ze souboru CSV. Přizpůsobte čárový graf předáním volitelných hodnot, jako je barva čáry (color) nebo šířka čáry (lw). Zobrazte hotový graf voláním metody show pro otevření okna a uložení obrázku voláním savefig pro vytvoření bitmapového souboru na disku:

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

Důležité aspekty pro soubory

Chcete-li vytvořit soubory, které může interpret Pythonu číst, musíte použít textový nebo kódový editor ASCII, který vytváří pouze textové soubory. Obrázky grafů můžete ukládat v mnoha různých formátech včetně: png, pdf, ps a svg.

Prostudujte si dokumentaci Matplotlib

Některé aspekty instalace a funkčnosti knihovny matplotlib se na různých počítačových platformách liší. Přečtěte si pozorně dokumentaci. Knihovna může zobrazovat číselné informace velkým množstvím způsobů a lze ji jemně přizpůsobit. K tomu, abyste se zdokonalili, bude nutné důkladné prostudování dokumentace.