MS Chart Control 學習手記(二) - 圓餅圖

using System.Web.UI.DataVisualization.Charting;
02 using System.Drawing;
03  
04 namespace Chart.AJAX
05 {
06     public partial class Export_AJAX : System.Web.UI.Page
07     {
08         void CreateChart()
09         {
10             string[] xValues = { "0-20""20-30""30-40""40-50""50-60""> 60""unknow" };
11             int[] yValues = {5, 18, 45, 17, 2, 1, 162 };
12  
13             //ChartAreas,Series,Legends 基本設定-------------------------------------------------
14             Chart Chart1 = new Chart();
15             Chart1.ChartAreas.Add("ChartArea1"); //圖表區域集合
16             Chart1.Legends.Add("Legends1"); //圖例集合說明
17             Chart1.Series.Add("Series1"); //數據序列集合
18  
19             //設定 Chart-------------------------------------------------------------------------
20             Chart1.Width = 770;
21             Chart1.Height = 400;
22             Title title = new Title();
23             title.Text = titleStr;
24             title.Alignment = ContentAlignment.MiddleCenter;
25             title.Font = new System.Drawing.Font("Trebuchet MS", 14F, FontStyle.Bold);
26             Chart1.Titles.Add(title);
27  
28             //設定 ChartArea1--------------------------------------------------------------------
29             Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = is3D;
30             Chart1.ChartAreas[0].AxisX.Interval = 1;
31  
32             //設定 Legends-------------------------------------------------------------------------               
33             //Chart1.Legends["Legends1"].DockedToChartArea = "ChartArea1"; //顯示在圖表內
34             //Chart1.Legends["Legends1"].Docking = Docking.Bottom; //自訂顯示位置
35             //背景色
36             Chart1.Legends["Legends1"].BackColor = Color.FromArgb(235, 235, 235);
37             //斜線背景
38             Chart1.Legends["Legends1"].BackHatchStyle = ChartHatchStyle.DarkDownwardDiagonal;
39             Chart1.Legends["Legends1"].BorderWidth = 1;
40             Chart1.Legends["Legends1"].BorderColor = Color.FromArgb(200, 200, 200);
41  
42             //設定 Series1-----------------------------------------------------------------------
43             Chart1.Series["Series1"].ChartType = SeriesChartType.Pie;
44             //Chart1.Series["Series1"].ChartType = SeriesChartType.Doughnut;
45             Chart1.Series["Series1"].Points.DataBindXY(xValues, yValues);
46             Chart1.Series["Series1"].LegendText = "#VALX:    [ #PERCENT{P1} ]"//X軸 + 百分比
47             Chart1.Series["Series1"].Label = "#VALX\n#PERCENT{P1}"//X軸 + 百分比
48             //Chart1.Series["Series1"].LabelForeColor = Color.FromArgb(0, 90, 255); //字體顏色
49             //字體設定
50             Chart1.Series["Series1"].Font = new System.Drawing.Font("Trebuchet MS", 10, System.Drawing.FontStyle.Bold);
51             Chart1.Series["Series1"].Points.FindMaxByValue().LabelForeColor = Color.Red;
52             //Chart1.Series["Series1"].Points.FindMaxByValue().Color = Color.Red;
53             //Chart1.Series["Series1"].Points.FindMaxByValue()["Exploded"] = "true";
54             Chart1.Series["Series1"].BorderColor = Color.FromArgb(255, 101, 101, 101);
55              
56             //Chart1.Series["Series1"]["DoughnutRadius"] = "80"; // ChartType為Doughnut時,Set Doughnut hole size
57             //Chart1.Series["Series1"]["PieLabelStyle"] = "Inside"; //數值顯示在圓餅內
58             Chart1.Series["Series1"]["PieLabelStyle"] = "Outside"//數值顯示在圓餅外
59             //Chart1.Series["Series1"]["PieLabelStyle"] = "Disabled"; //不顯示數值
60             //設定圓餅效果,除 Default 外其他效果3D不適用
61             Chart1.Series["Series1"]["PieDrawingStyle"] = "Default";
62             //Chart1.Series["Series1"]["PieDrawingStyle"] = "SoftEdge";
63             //Chart1.Series["Series1"]["PieDrawingStyle"] = "Concave";
64  
65             //Random rnd = new Random();  //亂數產生區塊顏色
66             //foreach (DataPoint point in Chart1.Series["Series1"].Points)
67             //{
68             //    //pie 顏色
69             //    point.Color = Color.FromArgb(150, rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255));
70             //}
71             Page.Controls.Add(Chart1); 
72         }
73     }
74 }

 

畫出來的圓餅圖就像這樣
posted @ 2015-01-26 12:58  armyfai  阅读(1144)  评论(0编辑  收藏  举报