Cum să plotezi date în timp real dintr-un fișier folosind Gnuplot
Gnuplot este unul dintre cele mai populare și puternice instrumente de vizualizare a datelor. Folosit de cercetători, ingineri și programatori, acest software poate desena grafice din fișiere de date și poate crea vizualizări interactive. Unul dintre cele mai interesante și utile moduri de utilizare a Gnuplot este pentru a plota date în timp real dintr-un fișier. Acest lucru este extrem de util în diverse domenii, cum ar fi monitorizarea performanței sistemelor, vizualizarea datelor de la senzori sau chiar în domeniul financiar.
Ce este Gnuplot?
Înainte de a intra în detalii, să discutăm puțin despre ce este Gnuplot. Gnuplot este un program open-source pentru generarea de grafice 2D și 3D. Deși este un software extrem de puternic și flexibil, Gnuplot este destul de ușor de utilizat, chiar și pentru începători. Suportă o gamă largă de formate de fișiere și poate fi integrat cu limbaje de programare precum Python sau C. În plus, este compatibil cu majoritatea sistemelor de operare, inclusiv Linux, macOS și Windows.
De ce să folosești Gnuplot pentru date în timp real?
Vizualizarea datelor în timp real este esențială atunci când monitorizezi un proces dinamic. De exemplu, să presupunem că ai un senzor care măsoară temperatura și vrei să vezi evoluția acesteia într-un grafic pe măsură ce datele sunt generate. Gnuplot poate fi folosit pentru a crea grafice live care se actualizează automat atunci când fișierul de date se modifică.
Pregătirea datelor pentru Gnuplot
În primul rând, trebuie să ai un fișier care conține datele pe care dorești să le vizualizezi. De exemplu, un fișier text simplu poate conține două coloane de date: timpul și valoarea măsurată.
# Exemplu de fișier de date: # Timp | Valoare 0 | 12 1 | 15 2 | 18 3 | 19 4 | 22
Acest fișier poate fi generat de un program de colectare a datelor sau de un script care citește valori dintr-un senzor. În acest exemplu, fiecare linie conține un timestamp și o valoare asociată (de exemplu, temperatura sau presiunea). Aceste date vor fi utilizate pentru a crea un grafic în timp real folosind Gnuplot.
Plotează datele în timp real cu Gnuplot
Acum că avem un fișier de date, să vedem cum putem folosi Gnuplot pentru a crea un grafic live. Gnuplot permite actualizarea automată a graficului pe măsură ce fișierul de date se schimbă. Vom folosi opțiunea replot în combinație cu comanda pause pentru a obține un grafic care se actualizează continuu.
# Comandă Gnuplot pentru plotează datele în timp real gnuplot -e " set terminal wxt; set xlabel 'Timp'; set ylabel 'Valoare'; plot 'data.txt' using 1:2 with lines title 'Temperatura'; pause 1; replot"
Explicație: În acest exemplu, comanda Gnuplot deschide o fereastră de grafic cu etichetele 'Timp' și 'Valoare'. Fișierul data.txt este utilizat pentru a plota datele. Opțiunea using 1:2 specifică faptul că prima coloană reprezintă timpul, iar a doua coloană reprezintă valoarea. Comanda pause 1 oprește execuția pentru 1 secundă și actualizează graficul folosind comanda replot.
Actualizarea graficului în timp real
Este important de menționat că, în acest exemplu simplu, fișierul de date este actualizat manual. În scenarii reale, fișierul ar putea fi actualizat de un script care colectează date în timp real de la un senzor sau de la un alt sistem. De exemplu, un script ar putea adăuga noi date în fișier la intervale regulate, iar Gnuplot ar putea să le afișeze imediat.
# Script pentru actualizarea datelor în fișier #!/bin/bash while true; do timestamp=$(date +%s) valoare=$(($RANDOM % 30 + 10)) # Generare valoare aleatorie echo "$timestamp $valoare" >> data.txt sleep 1 done
Acest script generează un timestamp folosind comanda date +%s și o valoare aleatorie pentru a simula citirea de la un senzor. Fiecare nouă linie de date este adăugată în fișierul data.txt la fiecare secundă. Gnuplot va actualiza automat graficul pentru a reflecta noile date.
Exemple avansate de personalizare a graficelor
Gnuplot oferă o mulțime de opțiuni pentru personalizarea graficelor. De exemplu, putem adăuga o legendă, să modificăm stilul liniei sau să schimbăm culorile. Iată câteva exemple de opțiuni avansate:
# Personalizare grafic gnuplot -e " set terminal wxt; set xlabel 'Timp'; set ylabel 'Valoare'; set title 'Temperatura în timp real'; set grid; set key top left; plot 'data.txt' using 1:2 with lines linestyle 1 title 'Temperatura';"
În acest exemplu, am adăugat un titlu, am activat grila și am mutat legenda în colțul din stânga sus. De asemenea, am modificat stilul liniei utilizând opțiunea linestyle 1.
Concluzie
Gnuplot este un instrument puternic și flexibil pentru vizualizarea datelor în timp real. Folosind fișiere de date și opțiuni de actualizare automată, putem crea grafice care se actualizează în timp real pe măsură ce datele sunt adăugate. Aceste grafice sunt extrem de utile în monitorizarea și analiza proceselor dinamice, cum ar fi datele de la senzori sau performanța sistemelor. De asemenea, Gnuplot oferă numeroase opțiuni pentru personalizarea și optimizarea vizualizărilor, făcându-l un instrument valoros pentru orice dezvoltator sau cercetător.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!