這次演示餅圖制作,簡單介紹餅圖的樣式效果及
PlotArea
對象的一些屬性。
?
一、生成餅圖
C1WebChart1.ChartGroups.Group0.ChartType?
=
?Chart2DTypeEnum.Pie;
設置圖表類型。?
?
DataSet?ds?
=
?GetDataSet();
DataView?dv?
=
?
new
?DataView(ds.Tables[
"
sanguo
"
]);
//
清除圖表所有數(shù)據(jù)序列
C1WebChart1.ChartGroups[
0
].ChartData.SeriesList.Clear();
這里和折線圖一樣。
?
for
(
int
?i
=
0
;?i?
<
?dv.Count;?i
++
)
{
???????ChartDataSeries?series?
=
?C1WebChart1.ChartGroups[
0
].ChartData.SeriesList.AddNewSeries();
???????series.PointData.Length?
=
?
1
;
???????series.Y[
0
]?
=
?
float
.Parse(dv[i][
"
value
"
].ToString());
}
為圖表添加數(shù)據(jù)。
這里與折線圖不同的是餅圖只需設置坐標軸的
Y
值即可,所有序列的相同索引的數(shù)據(jù)組合成一個餅圖。這里將每一條數(shù)據(jù)放在一個新的數(shù)據(jù)序列里,并且每個序列都只有一個元素。這樣,所有數(shù)據(jù)就會呈現(xiàn)在一個餅圖中。如圖:
這個就是默認的餅圖樣式,是不是少點什么呢?
接下來,介紹樣式的設置。
?
二、餅圖樣式設計
1)?
添加圖例
C1WebChart1.Legend.Visible?
=
?
true
;
設置
Legend
對象的
Visible
屬性為
true
,圖例就會顯示出來。這時圖例的標簽默認為序列的名稱。
?
for
(
int
?i
=
0
;?i?
<
?dv.Count;?i
++
)
{
???????ChartDataSeries?series?
=
?C1WebChart1.ChartGroups[
0
].ChartData.SeriesList[i];
???????series.Label
=
dv[i][
"
name
"
].ToString();
}
設置圖例標簽的顯示內容。為了代碼簡潔也可以在添加數(shù)據(jù)的同時設置。
?
另外,我們還可以使用
Legend
對象(圖例對象)設置圖例的顯示樣式。如:
C1WebChart1.Legend.Compass?
=
?CompassEnum.West;
設置圖例顯示位置。
?
其他一些屬性,例如
Orientation
設置圖例顯示方向(以縱向顯示或橫向顯示)等,不作詳細介紹,可自己嘗試使用。
?
2)?
為了讓數(shù)據(jù)更加直觀,可在餅圖添加標簽
for
(
int
?i
=
0
;?i?
<
?dv.Count;?i
++
)
{
???????C1.Win.C1Chart.Label?lbl?
=
?C1WebChart1.ChartLabels.LabelsCollection.AddNewLabel();
???????lbl.Text?
=
?
string
.Format(
"
{0}%
"
,
float
.Parse(dv[i][
"
value
"
].ToString()));
???????lbl.Compass?
=
?LabelCompassEnum.Radial;
???????lbl.Offset?
=
?
20
;
???????lbl.Connected?
=
?
true
;
???????lbl.Visible?
=
?
true
;
???????lbl.AttachMethod?
=
?AttachMethodEnum.DataIndex;
???????AttachMethodData?am?
=
?lbl.AttachMethodData;
???????am.GroupIndex??
=
?
0
;
???????am.SeriesIndex?
=
?i;
???????am.PointIndex??
=
?
0
;
}
首先,實例化標簽并設置標簽內容及相關屬性。
然后使用
AttachMethodData
對象設置標簽附加在圖表中的位置。
GroupIndex
是指圖表索引。(第一篇文章提到過
WebChart
默認支持
2
個圖表)
SeriesIndex
是指序列索引。
PointIndex?
是指序列中的元素索引。
?
設置完成,效果圖如下:
?
三、
3D
效果的實現(xiàn)
。
1
)開啟
3D
效果。
C1WebChart1.ChartGroups[
0
].Use3D?
=
?
true
;
以
3D
樣式顯示,該步驟必須存在。
?
3)?
設置
3D
樣式
//
3D圖形的深度
C1WebChart1.ChartArea.PlotArea.View3D.Depth?
=
20
;
//
以y軸作為參照的?旋轉角度(只有x軸,這個屬性設置無效)
C1WebChart1.ChartArea.PlotArea.View3D.Rotation?
=
90
;
//
以x軸作為參照的?傾斜角度
C1WebChart1.ChartArea.PlotArea.View3D.Elevation?
=
30
;
//
設置3D圖形的陰影效果
C1WebChart1.ChartArea.PlotArea.View3D.Shading?
=
?ShadingEnum.ColorDark;
3D
樣式是使用
PlotArea
對象的View3D屬性來設置。
主要就是以上四個屬性的設置。
顯示效果如下:
?
四、補充概念
或許之前說到的各圖形區(qū)域比較容易混淆,下面以圖形介紹個圖形區(qū)域:
?
灰色
為整個
WebChart
區(qū)域,對應對象就是
this.C1WebChart1
。
桔黃色
為圖表區(qū)域,對應對象為
this.C1WebChart1.ChartArea
。
綠色
為繪圖區(qū),對應對象為
this.C1WebChart1.ChartArea.PlotArea
。
紅色
為圖表的上標題,對應對象為
this.C1WebChart1.Header
。
藍色
為圖表的下標題,對應對象為
this.C1WebChart1.Footer
。
?
使用相關對象可以設置個區(qū)域的樣式效果。了解這些可以使用屬性窗口快速設置一些簡單樣式。
?
五、結束
我希望通過一些實例能夠比較全面的介紹
WebChart
的主要對象的使用。在下一次,會演示柱形圖的制作。本次實例的完整代碼下載地址如下:
?http://m.tkk7.com/Files/kdboy/ChartPie.rar
posted on 2007-03-21 22:03
kdboy 閱讀(1639)
評論(0) 編輯 收藏 所屬分類:
ASP.NET