# realtime stripchart $Hz Hz package require Tk package require BLT namespace import blt::* # vector and stripchart are blt components. # if you have a vector v, you can update it in realtime with # v set $list # init the vector to a fixed size. set Hz 200 vector xvec($Hz) y1vec($Hz) y2vec($Hz) for {set i 0} {$i < $Hz} {incr i} { lappend xlist $i } xvec set $xlist stripchart .s1 -height 2i -width 8i -bufferelements no stripchart .s2 -height 2i -width 8i -bufferelements no pack .s1 .s2 .s1 element create line1 -xdata xvec -ydata y1vec -symbol none .s2 element create line2 -xdata xvec -ydata y2vec -symbol none -color red # update $Hz Hz random data once per second proc proc1sec {} { set y1list {} set y2list {} for {set i 0} {$i < $::Hz} {incr i} { lappend y1list [expr {rand()}] lappend y2list [expr {rand()}] } y1vec set $y1list y2vec set $y2list after 1000 proc1sec } proc1sec ---- [Andrew Tannenbaum] ---- [Category Plotting]