public void UpdateData(Matrix <float> state, Matrix <float> proj)
        {
            if (state == null || proj == null)
            {
                return;
            }
            if (!XSelectorVm.SelectedKeys.Any())
            {
                return;
            }
            if (!YSelectorVm.SelectedKeys.Any())
            {
                return;
            }
            StateMatrix = state;
            ProjMatrix  = proj;
            var ject = MatrixUt.ProjectTo2D
                       (
                basis: ProjMatrix.Transpose(),
                states: StateMatrix,
                dexX: XSelectorVm.SelectedKeys,
                dexY: YSelectorVm.SelectedKeys
                       );

            GraphVm.SetData(
                imageWidth: -1.0,
                imageHeight: -1.0,
                plotPoints: new List <P2V <float, Color> >(),
                plotLines: new List <LS2V <float, Color> >(),
                filledRects: MakePlotRectangles(points: ject),
                openRects: new List <RV <float, Color> >());
        }
Beispiel #2
0
        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.range.Min,
                midVal: ColorSets.GetLegMidVal(colorLeg).ToString(),
                maxVal: ">" + colorLeg.range.Max,
                minCol: colorLeg.minC,
                midColors: colorLeg.spanC,
                maxColor: colorLeg.maxC
                );

            GraphVm.Watermark = $"Bins count: [{BinCounts.X}, {BinCounts.Y}]";
            GraphVm.SetData(
                imageWidth: -1.0,
                imageHeight: -1.0,
                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> >());
        }
Beispiel #3
0
        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(
                imageWidth: -1.0,
                imageHeight: -1.0,
                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> >());
        }