private void UpdateYRange( )
{
float minY = float.MaxValue;
float maxY = float.MinValue;
// walk through all data series
foreach ( KeyValuePair<string, DataSeries> kvp in seriesTable )
{
DataSeries series = kvp.Value;
// get data of the series
double[,] data = series.data;
if ( ( series.updateYRange ) && ( data != null ) )
{
for ( int i = 0, n = data.GetLength( 0 ); i < n; i++ )
{
if ( rangeX.IsInside( (float) data[i, 0] ) )
{
float v = (float) data[i, 1];
// check for max
if ( v > maxY )
maxY = v;
// check for min
if ( v < minY )
minY = v;
}
}
}
}
// update Y range, if there are any data
if ( ( minY != double.MaxValue ) || ( maxY != double.MinValue ) )
{
rangeY = new Range( minY, maxY );
}
}
}