in data 02-03-2009 02:28 AM
Salve, acquisisco (tramite compact field point 2120) una serie di dati in un intervallo temporale di 2 ore. Ogni 10 secondi ottengo 10 campioni (1 al secondo) da visualizzare in waveformGraph tramite un array di double. L'array inizialmente è vuoto e viene riempito in modo incrementale ogni 10 secondi. Qindi dopo 1 minuto avrò un array contenente 60 campioni, dopo 2 minuti 120 campioni, ecc. Sul'asse x vorrei visualizzare il timestamp in cui viene effettuata la lettura per ogni intervallo (quindi a unità di 10 secondi). Il primo valore dovrà quindi essere timestamp = ora di inizio, l'ultimo valore timestamp = ora di inizio + 10. Alla successiva lettura il valore iniziale dovrà essere sempre lo stesso timestamp = ora di inizio, l'ultimo valore timestamp = ora di inizio + 20sec, ecc... Avete qualche suggerimento?
02-04-2009 02:37 AM - modificato 02-04-2009 02:37 AM
Anzitutto mi sembra illusorio riuscire a visualizzare un timestamp ogni 10 secondi su una scala di 2 ore: si tratta di 720 valori sull'asse X! Credo sia più opportuno formattare l'asse X del grafico per visualizzare il tempo assoluto con un formato abbastanza compatto anche a costo di perdere il dettaglio della singola acquisizione (che poi in realtà è solo una fetta del fenomeno complessivo).
Potresti guardare l'esempio Create Waveform Example (é uno degli esempi linkati nell'help in linea alla voce Build Waveform); qui c'è un risultato cui potresti arrivare (e vedi che anche con un formato ora molto compatto i valori effettivamente visualizzati sull'asse x sono pochini):