public static void ApplySaccadePointMarkers(ChartPlotter amplitudePlotter, List <EyeMove> saccades) { var saccadeStartFoundDataSource = new EnumerableDataSource <EyeMove>(saccades.Where(x => x.IsStartFound == true)); saccadeStartFoundDataSource.SetXMapping(x => x.EyeStartTime); saccadeStartFoundDataSource.SetYMapping(x => x.EyeStartCoord); var saccadeEndFoundDataSource = new EnumerableDataSource <EyeMove>(saccades.Where(x => x.IsEndFound == true)); saccadeEndFoundDataSource.SetXMapping(x => x.EyeEndTime); saccadeEndFoundDataSource.SetYMapping(x => x.EyeEndCoord); var marker = new MarkerPointsGraph(saccadeStartFoundDataSource); var markPen = new CirclePointMarker(); markPen.Pen = new Pen(Brushes.Chartreuse, 1); markPen.Size = 6; marker.Name = "SaccStart"; markPen.Fill = Brushes.Chartreuse; marker.Marker = markPen; amplitudePlotter.Children.Add(marker); marker = new MarkerPointsGraph(saccadeEndFoundDataSource); markPen = new CirclePointMarker(); markPen.Pen = new Pen(Brushes.Gold, 1); markPen.Size = 6; marker.Name = "SaccEnd"; markPen.Fill = Brushes.Gold; marker.Marker = markPen; amplitudePlotter.Children.Add(marker); }
private void btnGetMarkers_Click(object sender, RoutedEventArgs e) { dataReader.ReadData(); int progressBarValue = 0; List <double> xAxis = new List <double>(); List <double> yAxis = new List <double>(); //int step = DataReader.relativeElongation.Count / 100; int step = dataReader.RelativeElongation.Count / (int)pbar.Maximum; int makerStep = 50; //create markers for (int i = 0; i < dataReader.RelativeElongation.Count;) { if (dataReader.RelativeElongation.Count > pbar.Maximum) { if (i % step == 0) { updateProgressBar(progressBarValue++); } } if (i % (makerStep) == 0) { xAxis.Add(dataReader.RelativeElongation[i]); yAxis.Add(dataReader.PreassureInMPa[i]); } //points.Add(new VoltagePoint(DataReader.preassureInMPa[i], DataReader.relativeElongation[i])); i = i + 1; } EnumerableDataSource <double> gX = new EnumerableDataSource <double>(xAxis); EnumerableDataSource <double> gY = new EnumerableDataSource <double>(yAxis); _MarkerGraph.DataSource = new CompositeDataSource(gX, gY); //no scaling - identity mapping gX.XMapping = xx => xx; gY.YMapping = yy => yy; CirclePointMarker mkr = new CirclePointMarker(); mkr.Fill = new SolidColorBrush(Colors.Red); mkr.Pen = new Pen(new SolidColorBrush(Colors.Black), 1); _MarkerGraph.Marker = mkr; updateProgressBar(100); plotter.FitToView(); }
private void plotBuyEvent(Collection <StockData> list) { IPointDataSource point = null; CirclePointMarker marker = new CirclePointMarker(); EnumerableDataSource <StockData> _edsSPP; _edsSPP = new EnumerableDataSource <StockData>(list); _edsSPP.SetXMapping(p => dateAxis.ConvertToDouble(p.date)); _edsSPP.SetYMapping(p => p.value); point = _edsSPP; BuyMarkerGraph.DataSource = point; marker.Size = 10; marker.Fill = new SolidColorBrush(Colors.Blue); marker.Pen = new Pen(new SolidColorBrush(Colors.Black), 2.0); BuyMarkerGraph.Marker = marker; }
void updateCollectionTimer_Tick(object sender, EventArgs e) { if (isOnlineLine) { int oldNumber = dataReader.RelativeElongation.Count; int previousCountSample = dataReader.RelativeElongation.Count; int newCounterValue = dataReader.ReadDataOnLine(); if (dataReader.RelativeElongation.Count > 0) { for (int i = dataReader.RelativeElongation.Count - 1; i < dataReader.RelativeElongation.Count;) { points.Add(new VoltagePoint(dataReader.PreassureInMPa[i], dataReader.RelativeElongation[i])); i = i + 1; } } } //points.Add(new VoltagePoint(ym[ym.Count - 1], xm[xm.Count - 1])); if (isOnlineMarkers) { int oldNumber = dataReader.RelativeElongation.Count; int previousCountSample = dataReader.RelativeElongation.Count; int newCounterValue = dataReader.ReadDataOnLine(); //List<string> provera = new List<string>(); //provera.Add("ulazak " + DateTime.Now + " oldNumber je " + oldNumber); //File.AppendAllLines(@"D:\provera.txt",provera); if (dataReader.RelativeElongation.Count > 0) { for (int i = dataReader.RelativeElongation.Count - 1; i < dataReader.RelativeElongation.Count;) { points.Add(new VoltagePoint(dataReader.PreassureInMPa[i], dataReader.RelativeElongation[i])); i = i + 1; } CirclePointMarker mkr = new CirclePointMarker(); mkr.Fill = new SolidColorBrush(Colors.Red); mkr.Pen = new Pen(new SolidColorBrush(Colors.Black), 1); _MarkerGraph.Marker = mkr; } } if (isAnimateLine) { animateLineCnt++; points.Add(new VoltagePoint(dataReader.PreassureInMPa[animateLineCnt], dataReader.RelativeElongation[animateLineCnt])); if (animateLineCnt == dataReader.PreassureInMPa.Count - 1) { updateCollectionTimer.Stop(); isAnimateLine = false; } } if (isAnimateMarkers) { EnumerableDataSource <double> gX = new EnumerableDataSource <double>(xAxisMarkers); EnumerableDataSource <double> gY = new EnumerableDataSource <double>(yAxisMarkers); _MarkerGraph.DataSource = new CompositeDataSource(gX, gY); //no scaling - identity mapping gX.XMapping = xx => xx; gY.YMapping = yy => yy; CirclePointMarker mkr = new CirclePointMarker(); mkr.Fill = new SolidColorBrush(Colors.Red); mkr.Pen = new Pen(new SolidColorBrush(Colors.Black), 1); _MarkerGraph.Marker = mkr; animateMarkersCnt++; xAxisMarkers.Add(xAxisMarkersSum[animateMarkersCnt]); yAxisMarkers.Add(yAxisMarkersSum[animateMarkersCnt]); if (animateMarkersCnt == xAxisMarkersSum.Count - 1) { updateCollectionTimer.Stop(); isAnimateMarkers = false; } } // points.Add(new VoltagePoint(ym[ym.Count-1], xm[xm.Count - 1])); // i++; }