program define segments version 4.0 local x1 = "`1'" local y1 = "`2'" local x2 = "`3'" local y2 = "`4'" tempvar xp1 xp2 yp1 yp2 gen `xp1' = $AX * `x1' + $BX gen `yp1' = $AY * `y1' + $BY gen `xp2' = $AX * `x2' + $BX gen `yp2' = $AY * `y2' + $BY /* scalar i=1 while i<= _N { local xx1=`xp1'[i] local xx2=`xp2'[i] local yy1=`yp1'[i] local yy2=`yp2'[i] gph line `yy1' `xx1' `yy2' `xx2' 1 scalar i=i+1} */ gph vseg `yp1' `xp1' `yp2' `xp2' end