隨筆-5  評論-13  文章-0  trackbacks-0

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

          ?

          一、 生成柱形圖

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

          設置圖表類型。

          ?

          對于數據源的添加和其他圖表相同,這里就不再說明。

          ?

          二、 柱形圖的樣式設計

          1 )填充色的改變

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

          獲取了 ChartDataSeries 對象之后,設置 FillStayle Color1 屬性即會改變柱形的填充色。

          ?

          2 )漸變色彩的實現

          // 1、設置圖表顏色填充方式為漸變方式:設置FillType?為Gradient(默認為SolidColor方式,單一色填充)
          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 屬性。

          ?

          漸變效果圖如下:


          漸變效果源碼下載地址:

          http://www.aygfsteel.com/Files/kdboy/ChartBar1.rar ?
          ?

          3 )多種顏色填充效果

          說明:對于同一序列的柱形只能使用相同填充顏色,實現多種顏色填充,只能使用不同數據序列。所以,假如你只有一組數據,那么可以使用這種效果來制作圖表。

          ?

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

          首先,需要設置圖標為疊加樣式。

          ?

          // 2、類似餅圖設置,為每條柱形圖創建序列
          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();
          }

          其次,需要將每條數據放置在不同的數據序列中,該序列顏色系統會自動分配。也可以在這里設置每個序列的顏色。

          ?

          效果圖如下:


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

          http://www.aygfsteel.com/Files/kdboy/ChartBar2.rar ?
          ?

          三、 柱形圖的 3D 效果

          與餅圖的 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 屬性來禁止顯示。改變其顏色,我也不知如何設置。

          代碼如下:

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

          效果就是這樣:


          ?

          五、 結束

          關于 WebChart 就介紹到這里,謝謝關注。

          posted on 2007-05-07 16:05 kdboy 閱讀(3912) 評論(3)  編輯  收藏 所屬分類: ASP.NET

          評論:
          # re: ComponentOne WebChart的使用 - 5(柱形圖) 2007-08-10 09:35 | dreamstone
          寫的不錯,收藏了  回復  更多評論
            
          # re: ComponentOne WebChart的使用 - 5(柱形圖) 2008-06-06 09:11 | 清云
          樓主你好,請問如果需要顯示的個數比較少的時候,如何限制每個柱子的寬度,可以設置嗎?謝謝!  回復  更多評論
            
          # re: ComponentOne WebChart的使用 - 5(柱形圖) 2008-06-06 10:14 | kdboy
          @清云
          我不記得在哪里可以設置柱形的寬度,現在也沒有.Net的環境查看。
          你可以設置坐標的最大值及單位值試一下,柱形的寬度會根據坐標設置的不同而改變。  回復  更多評論
            
          主站蜘蛛池模板: 汉阴县| 通许县| 安泽县| 彭山县| 贵港市| 佛冈县| 监利县| 广德县| 本溪| 抚顺县| 安宁市| 乡宁县| 万荣县| 惠东县| 定安县| 元朗区| 汽车| 怀宁县| 全椒县| 林西县| 宁武县| 祁连县| 荔波县| 长垣县| 集贤县| 珲春市| 杭州市| 赣榆县| 延边| 阆中市| 武宁县| 民勤县| 榆中县| 北宁市| 牙克石市| 贡山| 滕州市| 平南县| 宜州市| 治多县| 双鸭山市|