示例#1
0
        /// <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));
        }