본문으로 바로가기

zaskateam 님이 제공해 주신 팁입니다.


저는 한나절 고생해서 만들었는데, 다른 분들은 쉽게 하셨으리라 믿습니다. 그래도 저 같은 분들을 위해 팁을 올려드립니다. output.txt파일을 읽어와서 그래프를 그립니다. (output.txt 파일 용량이 커서 올라가지 않아서 올려 드리지는 못합니다.)

매뉴얼(http://tcltk.free.fr/blt/)을 보시면 더 훌륭한 그래프를 그릴 수 있을 것입니다.

package require BLT
 
if { $tcl_version >= 8.0 } {
        namespace import blt::*
        namespace import -force blt::tile::*
}
blt::graph .graph -title "Residues"
pack .graph

.graph xaxis configure -title "Iteration (#)"
.graph yaxis configure -title "Residues"

.graph grid on

vector x(3003) y0(3003) y1(3003) ;# 읽어들일 파일의 라인수와 동일한 배열수
set outdata "./output.txt" ;# 읽어들일 파일
set file [open $outdata r]
set i 1
while { [gets $file line] != -1 } {
        scan $line "%f %f %f" xv yv0 yv1
        set x($i-1) $xv
        set y0($i-1) $yv0
        set y1($i-1) $yv1
        incr i 1
}
close $file

.graph element create line1 -symbol "" \
        -linewidth 2 \
        -color red \
        -xdata x -ydata y0

.graph element create line2 -symbol "" \
        -linewidth 2 \
        -color green \
        -xdata x -ydata y1