in Sources/Visualization/Microsoft.Psi.Visualization.Windows/VisualizationObjects/NumericPlot/PlotSeriesVisualizationObject.cs [223:278]
private void ComputeYValueRange()
{
double min = double.MaxValue;
double max = double.MinValue;
if ((this.Data != null) && (this.Data.Count > 0))
{
foreach (var dictionary in this.Data)
{
foreach (var data in dictionary.Data.Values)
{
var doubleValue = this.GetNumericValue(data);
if (!double.IsNaN(doubleValue) && !double.IsInfinity(doubleValue))
{
min = Math.Min(min, doubleValue);
max = Math.Max(max, doubleValue);
}
}
}
}
else if ((this.SummaryData != null) && (this.SummaryData.Count > 0))
{
foreach (var dictionary in this.SummaryData)
{
foreach (var data in dictionary.Minimum.Values)
{
var doubleMinimum = this.GetNumericValue(data);
if (!double.IsNaN(doubleMinimum) && !double.IsInfinity(doubleMinimum))
{
min = Math.Min(min, doubleMinimum);
}
}
foreach (var data in dictionary.Maximum.Values)
{
var doubleMaximum = this.GetNumericValue(data);
if (!double.IsNaN(doubleMaximum) && !double.IsInfinity(doubleMaximum))
{
max = Math.Max(max, doubleMaximum);
}
}
}
}
if (max >= min)
{
if (this.YValueRange == null || this.YValueRange.Minimum != min || this.YAxis.Maximum != max)
{
this.YValueRange = new ValueRange<double>(min, max);
}
}
else if (this.YValueRange != null)
{
this.YValueRange = null;
}
}