Posted to tcl by evilotto at Wed Jul 19 21:45:48 GMT 2017view raw
- set plotsize 7
- proc textplot {values} {
-     set xvals [lmap {x y} $values {set x}]
-     set yvals [lmap {x y} $values {set y}]
-     set minx [tcl::mathfunc::min {*}$xvals]
-     set miny [tcl::mathfunc::min 0 {*}$yvals]
-     set maxx [tcl::mathfunc::max {*}$xvals]
-     set maxy [tcl::mathfunc::max {*}$yvals]
-  
-     set maxx [expr {$maxx + 1}]
-     set maxy [expr {$maxy + 1}]
-  
-     # 10x10 grid
-     set grid [lrepeat $::plotsize [lrepeat $::plotsize {  }]]
-  
-     foreach {x y} $values {
-         set gx [expr {int((double($x) - $minx) / (double($maxx) - $minx) * $::plotsize)}]
-         set gy [expr {int((double($y) - $miny) / (double($maxy) - $miny) * $::plotsize)}]
-         # puts "$gx $gy "
-         for {set _y 0} {$_y <= $gy} {incr _y} {
-             lset grid $_y $gx "**"
-         }
-     }
-  
-     foreach row [lreverse $grid] {
-         puts "|[join $row ""]"
-     }
-     puts "+[string repeat "--" $::plotsize]"
- }
-