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);
}
}
}