Vizualizace dat z CSV pomocí matplotlib v Pythonu
Skript v Pythonu s knihovnou matplotlib umožňuje rychle vizualizovat data z CSV souboru. Pro příklad používáme soubor LiLog.csv s sloupci: číslo řádku, hodnota osvětlení (Lx), teplota, čas, datum, Unix timestamp. Graf je sestaven podle timestampu (6. sloupec) na ose X a osvětlení (2. sloupec) na ose Y.
Je potřeba instalace: Python 3+, matplotlib, csv (vestavěný). Zkontrolujte interpret pomocí příkazu where python a aktualizujte na čistou verzi, vyhněte se balíčkům z Cygwin nebo Inkscape.
Nainstalujte závislosti:
pip install matplotlib numpy
Základní skript pro 2D graf
Kód načte data, parsuje CSV a vykreslí čáru:
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('LiLog.csv', 'r') as datafile:
plotting = csv.reader(datafile, delimiter=',') # Změněno na čárku pro příklad
for ROWS in plotting:
X.append(float(ROWS[5]))
Y.append(float(ROWS[1]))
plt.plot(X, Y)
plt.title('Line Graph using CSV')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
Seznamy X a Y se naplní float hodnotami ze zadaných sloupců. csv.reader zpracovává oddělovač (v příkladu čárka, zkontrolujte soubor). plt.plot vykreslí čáru, show() otevře okno.
Rozšířený graf s prahem a anotacemi
Přidejte horizontální čáru prahu (63 Lx), mřížku, legendu, otočení popisků:
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('LiLog.csv', 'r') as datafile:
plotting = csv.reader(datafile, delimiter=',')
for ROWS in plotting:
X.append(float(ROWS[5]))
Y.append(float(ROWS[1]))
threshold = 63.0
T = [threshold] * len(Y)
plt.plot(X, Y)
plt.plot(X, T)
plt.title('Illumination change')
plt.xlabel('Time,[s]')
plt.ylabel('Light level, [Lx]')
plt.grid()
plt.xticks(rotation=-90)
plt.legend(['illumination', f'threshold {threshold} Lx'])
plt.show()
Kontrola délky polí: print(len(X), len(Y)). Typy: list[float]. Interaktivita: zoom, posun pomocí panelu v okně matplotlib.
Seznam závislostí a instalace
Zkontrolujte balíčky: pip freeze. Typický výstup pro matplotlib:
- contourpy==1.3.3
- cycler==0.12.1
- fonttools==4.62.1
- kiwisolver==1.5.0
- matplotlib==3.10.8
- numpy==2.4.4
Instalace po jednom: pip install matplotlib numpy.
Výhody matplotlib pro vizualizaci dat
- Zdarma, open-source.
- Interaktivní: zoom, uložení do PNG, nastavení os/mřížky.
- Multiplatformní: Windows, Linux (s GUI).
- Kompilace do EXE přes PyInstaller pro distribuci.
- Minimální artefakty: jen .py soubor.
- Automatizace bez GUI: spuštění z CLI.
Omezení
- Real-time vykreslování (COM/TCP) vyžaduje threading nebo FuncAnimation.
- Výkon na velkých datasetech: >1M bodů – optimalizujte s numpy arrays.
Důležité tipy
- Používejte
numpypro pole:X = np.array(X)zrychlí plot. - Oddělovač CSV: zkontrolujte
delimiter=','nebo';', pro složité soubory použijtepandas. - Osi:
plt.xlabel,plt.ylabels jednotkami (s, Lx). - Legenda:
plt.legend(['data', 'threshold'])pro více čar. - Mřížka:
plt.grid()zlepší čitelnost.
Python + matplotlib – standard pro rychlou vizualizaci experimentálních dat z CSV. Vhodné pro analýzu senzorových logů, jako osvětlení vs čas.
— Editorial Team
Zatím žádné komentáře.