public (Series Series, decimal Max) BuildCdf(Bitmap bmp) { var series = _builder .SetName(RndFunction.CDF.GetDescription()) .SetChartType(SeriesChartType.StepLine) .SetColor(Color.Red) .SetBorderWidth(1) .SetVisibleInLegend(true) .Build(); return(BuildSeries(series, _service.GetCDF(bmp))); }
public Dictionary <string, Series> BuildIntervals(ConcurrentQueue <Bitmap> queue) { var result = new Dictionary <string, Series>(); var random = new Random(Guid.NewGuid().GetHashCode()); while (queue.TryDequeue(out var bitmap)) { var variance = new List <decimal>(); var names = new List <string>(); for (var graylevel = 0; graylevel < 255; graylevel += 15) { names.Add($"{graylevel}-{graylevel + 15}"); variance.Add(_distributionService.GetConditionalVariance((graylevel, graylevel + 15), bitmap)); } var key = bitmap.Tag.ToString(); _builder.SetName(key) .SetColor(Color.FromArgb( random.Next(0, 256), random.Next(0, 256), random.Next(0, 256))) .SetMarkerStyle(MarkerStyle.None) .SetChartType(SeriesChartType.Column) .SetLabelAngle(-90) .SetVisibleInLegend(true); var series = _builder.Build(); series.Points.DataBindXY(names, variance); result.Add(key, series); bitmap.Dispose(); } return(result); }