系列最后一章,柱形圖的制作 。
一、
生成柱形圖
設置圖表類型。
對于數據源的添加和其他圖表相同,這里就不再說明。
二、 柱形圖的樣式設計
1
)填充色的改變
series1.FillStyle.Color1? = ?Color.Red;
獲取了 ChartDataSeries 對象之后,設置 FillStayle 的 Color1 屬性即會改變柱形的填充色。
2
)漸變色彩的實現
series1.FillStyle.FillType? = FillTypeEnum.Gradient;
// 2、設置漸變效果的樣式:設置GradientStyle為GradientStyleEnum的枚舉值,這里設置為垂直漸變
series1.FillStyle.GradientStyle? = ?GradientStyleEnum.Horizontal;
// 3、設置漸變顏色:Color1為圖表默認顏色,如果使用默認方式填充,圖標顏色將為Color的顏色。
series1.FillStyle.Color1? = ?Color.BurlyWood;
// Color2為漸變色彩(使用Gradient或Hatch方式填充圖表顏色需設置Color2)。
series1.FillStyle.Color2? = ?Color.Red;
漸變效果需要設置 FillType 為 Gradient 類型,并且必須設置 Color2 屬性。
漸變效果圖如下:
漸變效果源碼下載地址:
?
3 )多種顏色填充效果
說明:對于同一序列的柱形只能使用相同填充顏色,實現多種顏色填充,只能使用不同數據序列。所以,假如你只有一組數據,那么可以使用這種效果來制作圖表。
C1WebChart1.ChartGroups.Group0.Stacked? = ? true ;
首先,需要設置圖標為疊加樣式。
for ( int ?i = 0 ;?i? < ?dv.Count;?i ++ )
{
???????ChartDataSeries?series? = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();
??????? // 設置序列長度為1(即每條序列均只有一條數據),這點與餅圖設置相同
???????series.PointData.Length? = ? 1 ;
??????? // 設置每個序列所在x軸位置,讓每個序列獨立顯示。與餅圖設置,只有這點區別。
???????series.X[ 0 ]? = ?i;
??????? // 設置數據序列的y值
???????series.Y[ 0 ]? = ? float .Parse(dv[i][ " value " ].ToString());?????????????????????????
??????? // 設置序列圖例顯示文字。
???????series.Label = dv[i][ " name " ].ToString();
}
其次,需要將每條數據放置在不同的數據序列中,該序列顏色系統會自動分配。也可以在這里設置每個序列的顏色。
效果圖如下:
多種顏色填充
源碼下載地址:
?
三、 柱形圖的 3D 效果
與餅圖的
3D
效果相同,只需增加一下代碼即可:
C1WebChart1.ChartGroups[ 0 ].Use3D? = ? true ;
// 3D圖形的深度
C1WebChart1.ChartArea.PlotArea.View3D.Depth? = 10 ;
// 以y軸作為參照的?旋轉角度(這里可以看到這個屬性的效果)
C1WebChart1.ChartArea.PlotArea.View3D.Rotation? = 20 ;
// 以x軸作為參照的?傾斜角度
C1WebChart1.ChartArea.PlotArea.View3D.Elevation? = 30 ;
// 設置3D圖形的陰影效果,默認是ColorDark(比前景色深),還可以指定為ColorLight(比前景色淺),None(不指定,顏色深淺一樣)
C1WebChart1.ChartArea.PlotArea.View3D.Shading? = ?ShadingEnum.ColorDark;
效果圖如下:
源碼略。
四、 其他。
對于柱形圖的邊線,可以設置 ChartGroup 的 ShowOutline 屬性來禁止顯示。改變其顏色,我也不知如何設置。
代碼如下:
效果就是這樣:
?
五、 結束
關于 WebChart 就介紹到這里,謝謝關注。