#!../../wish -f

set env(TCL_EXTMAP) "./extensions.tcl"
extension add blt

option add *Blt_htext.Font *Times-Bold-R*14*
option add *graph.xTitle "X Axis Label"
option add *graph.yTitle "Y Axis Label"
option add *graph.title "A Simple XY Graph"
option add *graph.elemBackground red

set visual [winfo screenvisual .] 
if { $visual != "staticgray" } {
    option add *print.background yellow
    option add *quit.background red
}


proc ConfigureGraph { interp graph } {
    exec ../blt_wish -name GraphConfig -f ./grconf.tcl $interp $graph &
}

set remote {}
global graph
set graph .graph
blt_htext .header -text {%%
%%This is an example of the blt_graph widget.  It displays two-variable 
data with assorted line attributes and symbols.  The graph itself has 
many components; x and y axis, legend, crosshairs, elements, etc.  
You can configure any component by pressing this %% 
button $blt_htext(widget).config -text button -bg green \
    -command [list ConfigureGraph [winfo name .] $graph]
$blt_htext(widget) append $blt_htext(widget).config
%%.

To create a postscript file "xy.ps", press the %%
button $blt_htext(widget).print -text print -command {
  .graph postscript xy.ps -pagewidth 6.5i -pageheight 9i -landscape true
} 
$blt_htext(widget) append $blt_htext(widget).print
%% button.}

blt_graph $graph

blt_htext .footer -text {Hit the %%
button $blt_htext(widget).quit -text quit -command { 
    catch "send GraphConfig after 1 exit" 
    destroy .
} 
$blt_htext(widget) append $blt_htext(widget).quit 
%% button when you've seen enough.%%
label $blt_htext(widget).logo -bitmap BLT
$blt_htext(widget) append $blt_htext(widget).logo -padx 20
%%}

set X { 
    2.00000e-01 4.00000e-01 6.00000e-01 8.00000e-01 1.00000e+00 
    1.20000e+00 1.40000e+00 1.60000e+00 1.80000e+00 2.00000e+00 
    2.20000e+00 2.40000e+00 2.60000e+00 2.80000e+00 3.00000e+00 
    3.20000e+00 3.40000e+00 3.60000e+00 3.80000e+00 4.00000e+00 
    4.20000e+00 4.40000e+00 4.60000e+00 4.80000e+00 5.00000e+00 
} 

set Y1 { 
    1.14471e+01 2.09373e+01 2.84608e+01 3.40080e+01 3.75691e+01 
    3.91345e+01 3.92706e+01 3.93474e+01 3.94242e+01 3.95010e+01 
    3.95778e+01 3.96545e+01 3.97313e+01 3.98081e+01 3.98849e+01 
    3.99617e+01 4.00384e+01 4.01152e+01 4.01920e+01 4.02688e+01 
    4.03455e+01 4.04223e+01 4.04990e+01 4.05758e+01 4.06526e+01 
}

set Y2 { 
    2.61825e+01 5.04696e+01 7.28517e+01 9.33192e+01 1.11863e+02 
    1.28473e+02 1.43140e+02 1.55854e+02 1.66606e+02 1.75386e+02 
    1.82185e+02 1.86994e+02 1.89802e+02 1.90683e+02 1.91047e+02 
    1.91411e+02 1.91775e+02 1.92139e+02 1.92503e+02 1.92867e+02 
    1.93231e+02 1.93595e+02 1.93958e+02 1.94322e+02 1.94686e+02 
}

set Y3  { 
    4.07008e+01 7.95658e+01 1.16585e+02 1.51750e+02 1.85051e+02 
    2.16479e+02 2.46024e+02 2.73676e+02 2.99427e+02 3.23267e+02 
    3.45187e+02 3.65177e+02 3.83228e+02 3.99331e+02 4.13476e+02 
    4.25655e+02 4.35856e+02 4.44073e+02 4.50294e+02 4.54512e+02 
    4.56716e+02 4.57596e+02 4.58448e+02 4.59299e+02 4.60151e+02 
}

$graph element create line1 -xdata $X -ydata $Y2 \
    -symbol cross -linewidth 1 
$graph element create line2 -xdata $X -ydata $Y3 \
    -symbol square -linewidth 1
$graph element create line3 -xdata $X -ydata $Y1 \
    -symbol plus -linewidth 1

#$graph crosshairs set on

pack append . \
	.header { padx 20 pady 10 }  \
	.graph {} \
	.footer { padx 20 pady 10 }
	
wm min . 0 0

source features.tcl
#SetCrosshairs $graph
SetActiveLegend $graph
SetClosestPoint $graph
SetZoom $graph

wm min . 0 0

