/// <summary> /// Zeichnet das Balkendiagramm /// </summary> /// <param name="items">die Elemente, die gezeichnet werden sollen-</param> /// <returns>ein Bild, das das gezeichnete Diagramm enthält</returns> protected override Bitmap DrawChart(IEnumerable <ChartItem> slices) { List <BarChart.Item> bars = slices.Select((item, index) => new BarChart.Item { DisplayText = item.DisplayText, ValueText = item.ValueText, Value = item.Percent, Color = ChartForm.GenerateColor(index, slices.Count()) }).ToList(); BarChart barChart = new BarChart(); return(barChart.Draw(bars)); }
/// <summary> /// Zeichnet das Flächendiagramm /// </summary> /// <param name="items">die Elemente, die gezeichnet werden sollen-</param> /// <returns>ein Bild, das das gezeichnete Diagramm enthält</returns> protected override Bitmap DrawChart(IEnumerable <ChartItem> slices) { List <TreeMap.Item> items = slices.Select((item, index) => new TreeMap.Item { DisplayText = item.DisplayText, ValueText = item.ValueText, Value = item.Percent, Color = ChartForm.GenerateColor(index, slices.Count()) }).ToList(); TreeMap paneChart = new TreeMap(); return(paneChart.Draw(items)); }
/// <summary> /// Zeichnet das Kreisdiagramm /// </summary> /// <param name="items">die Elemente, die gezeichnet werden sollen-</param> /// <returns>ein Bild, das das gezeichnete Diagramm enthält</returns> protected override Bitmap DrawChart(IEnumerable <ChartItem> slices) { PieChart pieChart = new PieChart { EllipseWidth = 300, EllipseHeight = 150, PieHeight = 15 }; // Kuchenstückobjekte erzeugen float startAngle = 20; List <PieChart.Slice> pieSlices = slices.Select((item, index) => new PieChart.Slice { Offset = (item.IsEmphasized) ? 15 : 3, Text = item.DisplayText + "|" + item.ValueText, StartAngle = startAngle, EndAngle = startAngle = (float)(startAngle + (item.Percent / 100) * 360) % 360, Color = ChartForm.GenerateColor(index, slices.Count()) }).ToList(); // Kreisdiagramm zeichnen return(pieChart.Draw(pieSlices)); }