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 | } |
畫出來的圓餅圖就像這樣