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