<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-5  評(píng)論-13  文章-0  trackbacks-0
      2007年3月21日

    系列最后一章,柱形圖的制作

    ?

    一、 生成柱形圖

    C1WebChart1.ChartGroups.Group0.ChartType? = ?Chart2DTypeEnum.Bar;

    設(shè)置圖表類(lèi)型。

    ?

    對(duì)于數(shù)據(jù)源的添加和其他圖表相同,這里就不再說(shuō)明。

    ?

    二、 柱形圖的樣式設(shè)計(jì)

    1 )填充色的改變

    ChartDataSeries?series1? = ??C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();
    series1.FillStyle.Color1?
    = ?Color.Red;

    獲取了 ChartDataSeries 對(duì)象之后,設(shè)置 FillStayle Color1 屬性即會(huì)改變柱形的填充色。

    ?

    2 )漸變色彩的實(shí)現(xiàn)

    // 1、設(shè)置圖表顏色填充方式為漸變方式:設(shè)置FillType?為Gradient(默認(rèn)為SolidColor方式,單一色填充)
    series1.FillStyle.FillType? = FillTypeEnum.Gradient;
    // 2、設(shè)置漸變效果的樣式:設(shè)置GradientStyle為GradientStyleEnum的枚舉值,這里設(shè)置為垂直漸變
    series1.FillStyle.GradientStyle? = ?GradientStyleEnum.Horizontal;
    // 3、設(shè)置漸變顏色:Color1為圖表默認(rèn)顏色,如果使用默認(rèn)方式填充,圖標(biāo)顏色將為Color的顏色。
    series1.FillStyle.Color1? = ?Color.BurlyWood;
    // Color2為漸變色彩(使用Gradient或Hatch方式填充圖表顏色需設(shè)置Color2)。
    series1.FillStyle.Color2? = ?Color.Red;

    漸變效果需要設(shè)置 FillType Gradient 類(lèi)型,并且必須設(shè)置 Color2 屬性。

    ?

    漸變效果圖如下:


    漸變效果源碼下載地址:

    http://m.tkk7.com/Files/kdboy/ChartBar1.rar ?
    ?

    3 )多種顏色填充效果

    說(shuō)明:對(duì)于同一序列的柱形只能使用相同填充顏色,實(shí)現(xiàn)多種顏色填充,只能使用不同數(shù)據(jù)序列。所以,假如你只有一組數(shù)據(jù),那么可以使用這種效果來(lái)制作圖表。

    ?

    // 1、需設(shè)置圖表為疊加樣式:Stacked設(shè)為ture?(否則所有系列將單列顯示,柱形圖會(huì)變細(xì))
    C1WebChart1.ChartGroups.Group0.Stacked? = ? true ;

    首先,需要設(shè)置圖標(biāo)為疊加樣式。

    ?

    // 2、類(lèi)似餅圖設(shè)置,為每條柱形圖創(chuàng)建序列
    for ( int ?i = 0 ;?i? < ?dv.Count;?i ++ )
    {
    ???????ChartDataSeries?series?
    = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();
    ???????
    // 設(shè)置序列長(zhǎng)度為1(即每條序列均只有一條數(shù)據(jù)),這點(diǎn)與餅圖設(shè)置相同
    ???????series.PointData.Length? = ? 1 ;
    ???????
    // 設(shè)置每個(gè)序列所在x軸位置,讓每個(gè)序列獨(dú)立顯示。與餅圖設(shè)置,只有這點(diǎn)區(qū)別。
    ???????series.X[ 0 ]? = ?i;
    ???????
    // 設(shè)置數(shù)據(jù)序列的y值
    ???????series.Y[ 0 ]? = ? float .Parse(dv[i][ " value " ].ToString());?????????????????????????
    ???????
    // 設(shè)置序列圖例顯示文字。
    ???????series.Label = dv[i][ " name " ].ToString();
    }

    其次,需要將每條數(shù)據(jù)放置在不同的數(shù)據(jù)序列中,該序列顏色系統(tǒng)會(huì)自動(dòng)分配。也可以在這里設(shè)置每個(gè)序列的顏色。

    ?

    效果圖如下:


    多種顏色填充
    源碼下載地址:

    http://m.tkk7.com/Files/kdboy/ChartBar2.rar ?
    ?

    三、 柱形圖的 3D 效果

    與餅圖的 3D 效果相同,只需增加一下代碼即可:

    // 設(shè)置3D效果
    C1WebChart1.ChartGroups[ 0 ].Use3D? = ? true ;
    // 3D圖形的深度
    C1WebChart1.ChartArea.PlotArea.View3D.Depth? = 10 ;
    // 以y軸作為參照的?旋轉(zhuǎn)角度(這里可以看到這個(gè)屬性的效果)
    C1WebChart1.ChartArea.PlotArea.View3D.Rotation? = 20 ;
    // 以x軸作為參照的?傾斜角度
    C1WebChart1.ChartArea.PlotArea.View3D.Elevation? = 30 ;
    // 設(shè)置3D圖形的陰影效果,默認(rèn)是ColorDark(比前景色深),還可以指定為ColorLight(比前景色淺),None(不指定,顏色深淺一樣)
    C1WebChart1.ChartArea.PlotArea.View3D.Shading? = ?ShadingEnum.ColorDark;

    ?

    效果圖如下:


    源碼略。

    ?

    四、 其他。

    對(duì)于柱形圖的邊線,可以設(shè)置 ChartGroup ShowOutline 屬性來(lái)禁止顯示。改變其顏色,我也不知如何設(shè)置。

    代碼如下:

    C1WebChart1.ChartGroups[ 0 ].ShowOutline? = ? false ;

    效果就是這樣:


    ?

    五、 結(jié)束

    關(guān)于 WebChart 就介紹到這里,謝謝關(guān)注。

    posted @ 2007-05-07 16:05 kdboy 閱讀(3907) | 評(píng)論 (3)編輯 收藏

    這次演示餅圖制作,簡(jiǎn)單介紹餅圖的樣式效果及 PlotArea 對(duì)象的一些屬性。

    ?

    一、生成餅圖

    C1WebChart1.ChartGroups.Group0.ChartType? = ?Chart2DTypeEnum.Pie;

    設(shè)置圖表類(lèi)型。?
    ?

    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ù)。

    這里與折線圖不同的是餅圖只需設(shè)置坐標(biāo)軸的 Y 值即可,所有序列的相同索引的數(shù)據(jù)組合成一個(gè)餅圖。這里將每一條數(shù)據(jù)放在一個(gè)新的數(shù)據(jù)序列里,并且每個(gè)序列都只有一個(gè)元素。這樣,所有數(shù)據(jù)就會(huì)呈現(xiàn)在一個(gè)餅圖中。如圖:


    這個(gè)就是默認(rèn)的餅圖樣式,是不是少點(diǎn)什么呢?

    接下來(lái),介紹樣式的設(shè)置。

    ?

    二、餅圖樣式設(shè)計(jì)

    1)? 添加圖例

    C1WebChart1.Legend.Visible? = ? true ;

    設(shè)置 Legend 對(duì)象的 Visible 屬性為 true ,圖例就會(huì)顯示出來(lái)。這時(shí)圖例的標(biāo)簽?zāi)J(rèn)為序列的名稱(chēng)。

    ?

    for ( int ?i = 0 ;?i? < ?dv.Count;?i ++ )
    {
    ???????ChartDataSeries?series?
    = ?C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList[i];
    ???????series.Label
    = dv[i][ " name " ].ToString();
    }

    設(shè)置圖例標(biāo)簽的顯示內(nèi)容。為了代碼簡(jiǎn)潔也可以在添加數(shù)據(jù)的同時(shí)設(shè)置。

    ?

    另外,我們還可以使用 Legend 對(duì)象(圖例對(duì)象)設(shè)置圖例的顯示樣式。如:

    C1WebChart1.Legend.Compass? = ?CompassEnum.West;

    設(shè)置圖例顯示位置。

    ?

    其他一些屬性,例如 Orientation 設(shè)置圖例顯示方向(以縱向顯示或橫向顯示)等,不作詳細(xì)介紹,可自己嘗試使用。

    ?

    2)? 為了讓數(shù)據(jù)更加直觀,可在餅圖添加標(biāo)簽

    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 ;
    }

    首先,實(shí)例化標(biāo)簽并設(shè)置標(biāo)簽內(nèi)容及相關(guān)屬性。

    然后使用 AttachMethodData 對(duì)象設(shè)置標(biāo)簽附加在圖表中的位置。

    GroupIndex 是指圖表索引。(第一篇文章提到過(guò) WebChart 默認(rèn)支持 2 個(gè)圖表)

    SeriesIndex 是指序列索引。

    PointIndex? 是指序列中的元素索引。

    ?

    設(shè)置完成,效果圖如下:


    ?

    三、 3D 效果的實(shí)現(xiàn)

    1 )開(kāi)啟 3D 效果。

    C1WebChart1.ChartGroups[ 0 ].Use3D? = ? true ;

    3D 樣式顯示,該步驟必須存在。

    ?

    3)? 設(shè)置 3D 樣式

    // 3D圖形的深度
    C1WebChart1.ChartArea.PlotArea.View3D.Depth? = 20 ;
    // 以y軸作為參照的?旋轉(zhuǎn)角度(只有x軸,這個(gè)屬性設(shè)置無(wú)效)
    C1WebChart1.ChartArea.PlotArea.View3D.Rotation? = 90 ;
    // 以x軸作為參照的?傾斜角度
    C1WebChart1.ChartArea.PlotArea.View3D.Elevation? = 30 ;
    // 設(shè)置3D圖形的陰影效果
    C1WebChart1.ChartArea.PlotArea.View3D.Shading? = ?ShadingEnum.ColorDark;

    3D 樣式是使用 PlotArea 對(duì)象的View3D屬性來(lái)設(shè)置。

    主要就是以上四個(gè)屬性的設(shè)置。

    顯示效果如下:

    ?


    四、補(bǔ)充概念

    或許之前說(shuō)到的各圖形區(qū)域比較容易混淆,下面以圖形介紹個(gè)圖形區(qū)域:

    ?

    灰色 為整個(gè) WebChart 區(qū)域,對(duì)應(yīng)對(duì)象就是 this.C1WebChart1

    桔黃色 為圖表區(qū)域,對(duì)應(yīng)對(duì)象為 this.C1WebChart1.ChartArea

    綠色 為繪圖區(qū),對(duì)應(yīng)對(duì)象為 this.C1WebChart1.ChartArea.PlotArea

    紅色 為圖表的上標(biāo)題,對(duì)應(yīng)對(duì)象為 this.C1WebChart1.Header

    藍(lán)色 為圖表的下標(biāo)題,對(duì)應(yīng)對(duì)象為 this.C1WebChart1.Footer

    ?

    使用相關(guān)對(duì)象可以設(shè)置個(gè)區(qū)域的樣式效果。了解這些可以使用屬性窗口快速設(shè)置一些簡(jiǎn)單樣式。

    ?

    五、結(jié)束

    我希望通過(guò)一些實(shí)例能夠比較全面的介紹 WebChart 的主要對(duì)象的使用。在下一次,會(huì)演示柱形圖的制作。本次實(shí)例的完整代碼下載地址如下:

    ?http://m.tkk7.com/Files/kdboy/ChartPie.rar

    posted @ 2007-03-21 22:03 kdboy 閱讀(1639) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: 免费一级毛片女人图片| 免费国产成人18在线观看| 亚洲精品无码久久久久YW| 亚洲AV无码国产精品色| 亚洲国产美女视频| 亚洲精品成人图区| 亚洲国产激情在线一区| 亚洲最大福利视频| 亚洲国产美女精品久久久| 亚洲成a人片在线不卡一二三区| 亚洲综合一区国产精品| 国产精品亚洲综合久久| 亚洲色成人网站WWW永久四虎| 中文字幕亚洲综合久久综合| 亚洲综合av一区二区三区| 亚洲第一香蕉视频| 亚洲伦理中文字幕| 亚洲欧美不卡高清在线| 老妇激情毛片免费| 久久久久久国产a免费观看不卡 | 亚洲蜜芽在线精品一区| 亚洲精品在线电影| 亚洲熟妇无码AV| 免费激情网站国产高清第一页| 国产福利在线观看永久免费| 在线观看免费视频一区| 最近免费中文在线视频| 成年在线网站免费观看无广告| 国产片免费福利片永久| 国产亚洲精品无码专区 | 精品少妇人妻AV免费久久洗澡 | 中文字幕无码成人免费视频| 黄网址在线永久免费观看| 亚洲熟伦熟女新五十路熟妇| 亚洲精品夜夜夜妓女网| 亚洲综合色7777情网站777| 美女羞羞免费视频网站| 精品国产一区二区三区免费| 无码人妻一区二区三区免费手机| 免费日韩在线视频| 亚洲AV无码国产精品色午友在线|