public void UpdateGraphVm() { if (Values == null) { return; } var bins = A2dUt.ToP2V(Histos.Histogram2d( bounds: Bounds, binCount: BinCounts.Sz2Int, vals: Values)).ToArray(); var counts = bins.Select(b => b.V.V).ToArray(); var colorLeg = ColorLegger(counts); LegendVm = new LegendVm( minVal: "<" + colorLeg.minV, midVal: ColorSets.GetLegMidVal(colorLeg).ToString(), maxVal: ">" + colorLeg.maxV, minCol: colorLeg.minC, midColors: colorLeg.spanC, maxColor: colorLeg.maxC ); GraphVm.Watermark = $"Bins count: [{BinCounts.X}, {BinCounts.Y}]"; GraphVm.SetData( boundingRect: Bounds, plotPoints: Enumerable.Empty <P2V <float, Color> >(), plotLines: Enumerable.Empty <LS2V <float, Color> >(), filledRects: MakePlotRectangles(colorLeg: colorLeg, hist: bins), openRects: Enumerable.Empty <RV <float, Color> >()); }
private void UpdateGraphVm() { if (Values == null) { return; } var bins = Histos.Histogram1d( min: MinValue, max: MaxValue, vals: Values, binCount: BinCount); var maxFreq = bins.Max(p => p.V); GraphVm.SetData( boundingRect: new R <float>(maxY: maxFreq, minX: MinValue, minY: 0.0f, maxX: MaxValue), plotPoints: Enumerable.Empty <P2V <float, Color> >(), plotLines: Enumerable.Empty <LS2V <float, Color> >(), filledRects: MakePlotRectangles(hist: bins), openRects: Enumerable.Empty <RV <float, Color> >()); }