public ChartControlTest() { InitializeComponent(); points = new SeriesPointCollection(); AreaSeries2D series = new AreaSeries2D(); series.Points = points; chart.Series.Add(series); points.Add(new SeriesPoint() { Argument = 0, Value = 10 }); points.Add(new SeriesPoint() { Argument = 1, Value = 30 }); points.Add(new SeriesPoint() { Argument = 2, Value = 23 }); points.Add(new SeriesPoint() { Argument = 3, Value = 15 }); }
public AreaSeries2D() { // 初始化保存数据点的变量 _points = new SeriesPointCollection(); _points.CollectionChanged += _points_CollectionChanged; // 初始化绘制曲线的画板 gStream_Line = new StreamGeometry(); gStream_Area = new StreamGeometry(); gDrawing_Line = new GeometryDrawing(); gDrawing_Line.Brush = null; gDrawing_Line.Pen = new Pen() { Thickness = 1, Brush = Brushes.Black }; gDrawing_Line.Geometry = gStream_Line; /* 初始化绘制填充色的画板 */ gDrawing_Area = new GeometryDrawing(); gDrawing_Area.Brush = Brushes.Red; gDrawing_Area.Pen = new Pen() { Thickness = 0, Brush = null }; gDrawing_Area.Geometry = gStream_Area; /* 生成绘画组 */ drawingGroup = new DrawingGroup(); drawingGroup.Children.Add(gDrawing_Line); drawingGroup.Children.Add(gDrawing_Area); }
private void InitPara() { ChartHitInfo hitInfo = pHitInfo; Series serie = hitInfo.Series; SeriesPoint sPoint = hitInfo.SeriesPoint; SeriesCollection seriesColl = hitInfo.Diagram.Series; double sum1 = 0, sum2 = 0, val = 0; string year = sPoint.Argument + "年"; string titleName = null; List <string> adds = new List <string>(); foreach (Series series in seriesColl) { if (series.GetType() == serie.GetType()) { SeriesPointCollection pointColl = series.Points; foreach (SeriesPoint p in pointColl) { if (p.Argument == sPoint.Argument) { SeriesPoint newPoint = new SeriesPoint(); newPoint.Argument = series.DisplayName; newPoint.Value = p.Value; pie1.Points.Add(newPoint); sum1 += p.Value; } } } else { SeriesPointCollection pointColl = series.Points; foreach (SeriesPoint p in pointColl) { if (p.Argument == sPoint.Argument && !adds.Contains(p.Series.DisplayName)) { adds.Add(p.Series.DisplayName); SeriesPoint newPoint = new SeriesPoint(); newPoint.Argument = series.DisplayName; newPoint.Value = p.Value; pie2.Points.Add(newPoint); if (string.Compare(serie.Name.Split('_')[0], p.Series.Name.Split('_')[0]) == 0) { val = p.Value; titleName = p.Series.DisplayName; } sum2 += p.Value; } } } } double ratio1 = sPoint.Value / sum1; double ratio2 = val / sum2; string displayName1 = year + hitInfo.Series.DisplayName + "占比:" + string.Format("{0:P0}", ratio1); string displayName2 = year + titleName + "占比:" + string.Format("{0:P0}", ratio2); title1.Content = displayName1; title2.Content = displayName2; }
static void UpdateGraph(SeriesPointCollection points, double value) { while (points.Count > 20) { points.RemoveAt(0); } points.Add(new SeriesPoint(DateTime.Now.TimeOfDay.TotalSeconds, value)); }
private void button1_Click(object sender, EventArgs e) { SeriesPointCollection seriesPoint = chartControl1.Series[0].Points; int aaa = seriesPoint.Count(); string Argument = seriesPoint[1].Argument; double[] Values = seriesPoint[1].Values; // Color color = this.chartControl1.PaletteRepository Color color = this.chartControl1.PaletteRepository["Chameleon"][0].Color; }
private void chartControl1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { XYDiagram xYDiagram = (XYDiagram)chartControl1.Diagram; double LastMouseCentreX = xYDiagram.PointToDiagram(e.Location).NumericalArgument; double LastMouseCentreY = xYDiagram.PointToDiagram(e.Location).NumericalValue; AddPointToChart(chartControl1, LastMouseCentreX, LastMouseCentreY, 0); LineSeriesView line = new LineSeriesView(); seriesPointsInChart = chartControl1.Series[0].Points; DeflectionExists = true; } }
/// <summary> /// 信噪比图--传感器点上色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void chartControl3_BoundDataChanged(object sender, EventArgs e) { SeriesPointCollection points = chartControl3.Series[0].Points; for (int i = 0; i < points.Count; i++) { if (points[i].ToolTipHint.Equals("G")) { points[i].Color = Color.Red; continue; } if (points[i].ToolTipHint.Equals("C")) { points[i].Color = Color.Green; continue; } if (points[i].ToolTipHint.Equals("R")) { points[i].Color = Color.Yellow; continue; } } }
/// <summary> /// Initializes a new instance of the <see cref="LineSeries2D"/> class. /// </summary> public LineSeries2D() : base() { Points = new SeriesPointCollection(); }