示例#1
0
        private void LoadPieChart(int flag = 0)
        {
            PieSeries.Clear();

            PieSeries pie = null;

            foreach (var range in NumRanges)
            {
                double min = range.Min.HasValue ? (double)range.Min : 0;
                double max = range.Max.HasValue ? (double)range.Max : 100000;
                pie = new PieSeries
                {
                    Title  = range.Title,
                    Values = new ChartValues <int>
                    {
                        PartyBuildingContext.org2news.Count(
                            o => flag == 0?
                            o.mem_count_dy >= min && o.mem_count_dy < max:
                            o.emp_count >= min && o.emp_count < max
                            )
                    },
                    DataLabels = true,
                    PushOut    = 2,
                    LabelPoint = PiePointLabel
                };
                PieSeries.Add(pie);
            }
        }
        private void CreateLegend()
        {
            PieSeries.Clear();

            var pieChart = FindParent <PieChart>(this);

            if (pieChart == null)
            {
                return;
            }

            var seriesCollection = pieChart.Series;

            foreach (var series in seriesCollection)
            {
                var pieSeries = series as PieSeries;
                if (pieSeries != null)
                {
                    var item = new PieSeriesViewModel();
                    item.Fill            = pieSeries.Fill;
                    item.PointGeometry   = pieSeries.PointGeometry;
                    item.Stroke          = pieSeries.Stroke;
                    item.StrokeThickness = pieSeries.StrokeThickness;
                    item.Title           = pieSeries.Title;

                    var values          = pieSeries.Values.GetPoints(pieSeries);
                    var firstChartPoint = values.First();

                    item.Value      = string.Format(ValueFormat, firstChartPoint.Y);
                    item.Percentage = string.Format(PercentFormat, firstChartPoint.Participation);


                    PieSeries.Add(item);
                }
            }
        }