コード例 #1
0
        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)));
        }
コード例 #2
0
        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);
        }