private void addErrorPoint(SkeletonJoint series, int x, double y, Statistics.MarkerType markerType) { String seriesName = JointDictionary.GetTranslation(series).name; DataPoint newPoint = new DataPoint(x, y); if (markerType == Statistics.MarkerType.FalseNegative) { EllipseAnnotation marker = new EllipseAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorFalsePositive; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } if (markerType == Statistics.MarkerType.FalsePositive) { RectangleAnnotation marker = new RectangleAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorFalseNegative; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } if (markerType == Statistics.MarkerType.NotAvailable) { EllipseAnnotation marker = new EllipseAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorNA; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } Series insertionSeries = chartErrors.Series[seriesName]; int insertion_index = 0; for (int index = 0; index < insertionSeries.Points.Count; index++) { if (insertionSeries.Points[index].XValue > x) break; else insertion_index++; } chartErrors.Series[seriesName].Points.Insert(insertion_index, newPoint); }
private void addErrorPoint(SkeletonJoint series, int x, double y, Statistics.MarkerType markerType) { String seriesName = JointDictionary.GetTranslation(series).name; DataPoint newPoint = new DataPoint(x, y); if (markerType == Statistics.MarkerType.FalseNegative) { EllipseAnnotation marker = new EllipseAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorFalsePositive; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } if (markerType == Statistics.MarkerType.FalsePositive) { RectangleAnnotation marker = new RectangleAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorFalseNegative; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } if (markerType == Statistics.MarkerType.NotAvailable) { EllipseAnnotation marker = new EllipseAnnotation(); marker.AnchorDataPoint = newPoint; marker.AnchorAlignment = ContentAlignment.MiddleCenter; marker.Width = 0.8; marker.Height = 1.6; marker.BackColor = markerColorNA; marker.LineColor = Color.Black; marker.LineWidth = 1; AnnotationSmartLabelStyle markerLocation = new AnnotationSmartLabelStyle(); markerLocation.IsMarkerOverlappingAllowed = true; markerLocation.IsOverlappedHidden = false; markerLocation.MaxMovingDistance = 0; markerLocation.MinMovingDistance = 0; marker.SmartLabelStyle = markerLocation; chartErrors.Annotations.Add(marker); annotations[series].Add(marker); } Series insertionSeries = chartErrors.Series[seriesName]; int insertion_index = 0; for (int index = 0; index < insertionSeries.Points.Count; index++) { if (insertionSeries.Points[index].XValue > x) { break; } else { insertion_index++; } } chartErrors.Series[seriesName].Points.Insert(insertion_index, newPoint); }