proc doScale {pw ax mid range} {
	
	global Meters

	set auto 0
	if {$range == 0} {
		if {[expr $mid + $range] == 0} {
			set auto 1
		} else {
	 		puts stderr "Illegal range!"
			return
		}
	}

	if {$range < 0} {set range [expr 0 - $range]}

	if {$auto} {
		set ymin ""
		set ymax ""
	} else {
		set ymin [expr $mid - ($range / 2.0)]
		set ymax [expr $mid + ($range / 2.0)]
	}


	$pw axis configure $ax -min $ymin -max $ymax

}
