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); } } }