//
記得要加入參考
using
ZedGraph;
//
資料來源
private
DataTable getDT()
{
DataTable dt
=
new
DataTable();
dt.Columns.Add(
"
學號
"
, System.Type.GetType(
"
System.String
"
));
dt.Columns.Add(
"
姓名
"
, System.Type.GetType(
"
System.String
"
));
dt.Columns.Add(
"
國文
"
, System.Type.GetType(
"
System.Int32
"
));
dt.Columns.Add(
"
英文
"
, System.Type.GetType(
"
System.Int32
"
));
dt.Columns.Add(
"
數學
"
, System.Type.GetType(
"
System.Int32
"
));
dt.Rows.Add(
"
B9510001
"
,
"
崔昱翰
"
,
85
,
66
,
71
);
dt.Rows.Add(
"
B9510002
"
,
"
王詩光
"
,
65
,
92
,
88
);
dt.Rows.Add(
"
B9510003
"
,
"
劉育白
"
,
52
,
66
,
63
);
dt.Rows.Add(
"
B9510004
"
,
"
許威宇
"
,
98
,
70
,
61
);
dt.Rows.Add(
"
B9510005
"
,
"
李佩珊
"
,
81
,
63
,
76
);
dt.Rows.Add(
"
B9510006
"
,
"
潘紹興
"
,
91
,
77
,
76
);
return
dt;
}
//
學生成績
public
void
StudentChart1(ZedGraphControl zgc)
{
//
Google網域搜尋:Fill site:
http://zedgraph.sourceforge.net/documentation
GraphPane myPane
=
zgc.GraphPane;
//
DataTable dt
=
getDT();
//
Set the title and axis labels
myPane.Title.Text
=
"
學生成績量化表
"
;
myPane.XAxis.Title.Text
=
"
學生姓名
"
;
myPane.YAxis.Title.Text
=
"
分數
"
;
PointPairList list1
=
new
PointPairList();
PointPairList list2
=
new
PointPairList();
PointPairList list3
=
new
PointPairList();
Random rand
=
new
Random();
//
Generate random data for three curves
for
(
int
i
=
0
; i
<
dt.Rows.Count; i
++
)
{
double
x
=
(
double
)i;
double
y1_chian
=
Convert.ToDouble(dt.Rows[i][
"
國文
"
]);
double
y2_eng
=
Convert.ToDouble(dt.Rows[i][
"
英文
"
]);
double
y3_math
=
Convert.ToDouble(dt.Rows[i][
"
數學
"
]);
list1.Add(x, y1_chian);
list2.Add(x, y2_eng);
list3.Add(x, y3_math);
}
//
create the curves
//
BarItem.Bar.Fill(Color) 填入單一顏色
//
BarItem.Bar.Fill(Color, Color, Color, 90) 填入漸層顏色,第4參數是旋轉角度
BarItem myCurve1
=
myPane.AddBar(
"
國文
"
, list1, Color.Red);
myCurve1.Bar.Fill
=
new
Fill(Color.FromArgb(
255
,
238
,
221
));
BarItem myCurve2
=
myPane.AddBar(
"
英文
"
, list2, Color.Blue);
myCurve2.Bar.Fill
=
new
Fill(Color.FromArgb(
221
,
255
,
238
));
BarItem myCurve3
=
myPane.AddBar(
"
數學
"
, list3, Color.Green);
myCurve3.Bar.Fill
=
new
Fill(Color.FromArgb(
238
,
221
,
255
));
//
Fill the axis background with a color gradient
//
背景色
//
myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 45.0F);
myPane.XAxis.MajorTic.IsBetweenLabels
=
true
;
//
加入X LabelText
string
[] labels
=
new
string
[
6
];
for
(
int
i
=
0
; i
<
dt.Rows.Count; i
++
)
{
labels[i]
=
Convert.ToString(dt.Rows[i][
"
姓名
"
]);
}
myPane.XAxis.Scale.TextLabels
=
labels;
//
X軸的說明文字
myPane.XAxis.Type
=
AxisType.Text;
//
X軸類型
//
重新計算目前數據範圍
zgc.AxisChange();
//
expand the range of the Y axis slightly to accommodate the labels
//
myPane.YAxis.Scale.Max += myPane.YAxis.Scale.MajorStep;
//
YAxis最大值
myPane.YAxis.Scale.Max
=
110
;
//
Create TextObj's to provide labels for each bar
//
在bar上顯示數值
BarItem.CreateBarLabels(myPane,
false
,
"
f0
"
);
//
顯示格點
myPane.YAxis.MajorGrid.IsVisible
=
true
;
myPane.XAxis.MajorGrid.IsVisible
=
true
;
}