Example #1
0
        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;
        }
        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 });
        }
        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;
            }
        }
Example #8
0
        /// <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();
 }