這次演示餅圖制作,簡單介紹餅圖的樣式效果及 PlotArea 對象的一些屬性。
一、生成餅圖
設置圖表類型。?
?
DataView?dv? = ? new ?DataView(ds.Tables[ " sanguo " ]);
// 清除圖表所有數據序列
C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.Clear();
這里和折線圖一樣。
{
???????ChartDataSeries?series? = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();
???????series.PointData.Length? = ? 1 ;
???????series.Y[ 0 ]? = ? float .Parse(dv[i][ " value " ].ToString());
}
為圖表添加數據。
這里與折線圖不同的是餅圖只需設置坐標軸的
Y
值即可,所有序列的相同索引的數據組合成一個餅圖。這里將每一條數據放在一個新的數據序列里,并且每個序列都只有一個元素。這樣,所有數據就會呈現在一個餅圖中。如圖:
這個就是默認的餅圖樣式,是不是少點什么呢?
接下來,介紹樣式的設置。
二、餅圖樣式設計
1)?
添加圖例
設置 Legend 對象的 Visible 屬性為 true ,圖例就會顯示出來。這時圖例的標簽默認為序列的名稱。
{
???????ChartDataSeries?series? = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList[i];
???????series.Label = dv[i][ " name " ].ToString();
}
設置圖例標簽的顯示內容。為了代碼簡潔也可以在添加數據的同時設置。
另外,我們還可以使用
Legend
對象(圖例對象)設置圖例的顯示樣式。如:
設置圖例顯示位置。
其他一些屬性,例如 Orientation 設置圖例顯示方向(以縱向顯示或橫向顯示)等,不作詳細介紹,可自己嘗試使用。
2)?
為了讓數據更加直觀,可在餅圖添加標簽
{
???????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 效果的實現 。
1
)開啟
3D
效果。
以 3D 樣式顯示,該步驟必須存在。
3)?
設置
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屬性來設置。
主要就是以上四個屬性的設置。
顯示效果如下:
?
四、補充概念
或許之前說到的各圖形區域比較容易混淆,下面以圖形介紹個圖形區域:
灰色 為整個 WebChart 區域,對應對象就是 this.C1WebChart1 。
桔黃色 為圖表區域,對應對象為 this.C1WebChart1.ChartArea 。
綠色 為繪圖區,對應對象為 this.C1WebChart1.ChartArea.PlotArea 。
紅色 為圖表的上標題,對應對象為 this.C1WebChart1.Header 。
藍色 為圖表的下標題,對應對象為 this.C1WebChart1.Footer 。
使用相關對象可以設置個區域的樣式效果。了解這些可以使用屬性窗口快速設置一些簡單樣式。
五、結束
我希望通過一些實例能夠比較全面的介紹 WebChart 的主要對象的使用。在下一次,會演示柱形圖的制作。本次實例的完整代碼下載地址如下: