??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产一二三,九一九一国产精品,国产精品一区二区ahttp://www.aygfsteel.com/kdboy/zh-cnTue, 17 Jun 2025 20:15:24 GMTTue, 17 Jun 2025 20:15:24 GMT60ComponentOne WebChart的?- 5Q柱形图Q?http://www.aygfsteel.com/kdboy/archive/2007/05/07/115720.htmlkdboykdboyMon, 07 May 2007 08:05:00 GMThttp://www.aygfsteel.com/kdboy/archive/2007/05/07/115720.htmlhttp://www.aygfsteel.com/kdboy/comments/115720.htmlhttp://www.aygfsteel.com/kdboy/archive/2007/05/07/115720.html#Feedback3http://www.aygfsteel.com/kdboy/comments/commentRss/115720.htmlhttp://www.aygfsteel.com/kdboy/services/trackbacks/115720.html pd最后一章,柱Ş囄制作 ?/span>

 

一?/span> 生成柱Ş?br />

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

讄图表cd?/font>

 

对于数据源的d和其他图表相同,q里׃再说明?/font>

 

二?/span> 柱Ş囄样式设计

1 Q填充色的改?br />

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

获取?/span> ChartDataSeries 对象之后Q设|?/span> FillStayle ?/span> Color1 属性即会改变柱形的填充艌Ӏ?/span>

 

2 Q渐变色彩的实现

// 1、设|图表颜色填充方式ؓ渐变方式Q设|FillType 为GradientQ默认ؓSolidColor方式Q单一色填充)
series1.FillStyle.FillType  = FillTypeEnum.Gradient;
// 2、设|渐变效果的样式Q设|GradientStyle为GradientStyleEnum的枚丑ր|q里讄为垂直渐?/span>
series1.FillStyle.GradientStyle  =  GradientStyleEnum.Horizontal;
// 3、设|渐变颜ԌColor1为图表默认颜Ԍ如果使用默认方式填充Q图标颜色将为Color的颜艌Ӏ?/span>
series1.FillStyle.Color1  =  Color.BurlyWood;
// Color2为渐变色彩(使用Gradient或Hatch方式填充图表颜色需讄Color2Q?/span>
series1.FillStyle.Color2  =  Color.Red;

渐变效果需要设|?/span> FillType ?/span> Gradient cdQƈ且必设|?/span> Color2 属性?/span>

 

渐变效果囑֦下:


渐变效果源码下蝲地址Q?br />

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

3 Q多U颜色填充效?/span>

说明Q对于同一序列的柱形只能用相同填充颜Ԍ实现多种颜色填充Q只能用不同数据序列。所以,假如你只有一l数据,那么可以使用q种效果来制作图表?/font>

 

// 1、需讄图表为叠加样式:Stacked设ؓture Q否则所有系列将单列昄Q柱形图会变l)
C1WebChart1.ChartGroups.Group0.Stacked  =   true ;

首先Q需要设|图标ؓ叠加样式?/font>

 

// 2、类似饼图设|,为每条柱形图创徏序列
for ( int  i = 0 ; i  <  dv.Count; i ++ )
{
       ChartDataSeries series 
=  C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();
       
// 讄序列长度?Q即每条序列均只有一条数据)Q这点与饼图讄相同
       series.PointData.Length  =   1 ;
       
// 讄每个序列所在x轴位|,让每个序列独立显C。与饼图讄Q只有这点区别?/span>
       series.X[ 0 =  i;
       
// 讄数据序列的y?/span>
       series.Y[ 0 =   float .Parse(dv[i][ " value " ].ToString());                         
       
// 讄序列图例昄文字?/span>
       series.Label = dv[i][ " name " ].ToString();
}

其次Q需要将每条数据攄在不同的数据序列中,该序列颜色系l会自动分配。也可以在这里设|每个序列的颜色?/font>

 

效果囑֦下:


多种颜色填充
源码下蝲地址Q?br />

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

三?/span> 柱Ş囄 3D 效果

与饼囄 3D 效果相同Q只需增加一下代码即可:

// 讄3D效果
C1WebChart1.ChartGroups[ 0 ].Use3D  =   true ;
// 3D囑Ş的深?/span>
C1WebChart1.ChartArea.PlotArea.View3D.Depth  = 10 ;
// 以y轴作为参照的 旋{角度Q这里可以看到这个属性的效果Q?/span>
C1WebChart1.ChartArea.PlotArea.View3D.Rotation  = 20 ;
// 以x轴作为参照的 倾斜角度
C1WebChart1.ChartArea.PlotArea.View3D.Elevation  = 30 ;
// 讄3D囑Ş的阴影效果,默认是ColorDark(比前景色?Q还可以指定为ColorLight(比前景色?QNone(不指定,颜色深浅一?
C1WebChart1.ChartArea.PlotArea.View3D.Shading  =  ShadingEnum.ColorDark;

 

效果囑֦下:


源码略?/font>

 

四?/span> 其他?/span>

对于柱Ş囄边线Q可以设|?/span> ChartGroup ?/span> ShowOutline 属性来止昄。改变其颜色Q我也不知如何设|?/span>

代码如下Q?br />

C1WebChart1.ChartGroups[ 0 ].ShowOutline  =   false ;

效果是q样Q?/font>


 

五?/span> l束

关于 WebChart ׃l到q里Q谢谢关注?/span>



kdboy 2007-05-07 16:05 发表评论
]]>
ComponentOne WebChart的?- 4Q饼图)http://www.aygfsteel.com/kdboy/archive/2007/03/21/105386.htmlkdboykdboyWed, 21 Mar 2007 14:03:00 GMThttp://www.aygfsteel.com/kdboy/archive/2007/03/21/105386.htmlhttp://www.aygfsteel.com/kdboy/comments/105386.htmlhttp://www.aygfsteel.com/kdboy/archive/2007/03/21/105386.html#Feedback0http://www.aygfsteel.com/kdboy/comments/commentRss/105386.htmlhttp://www.aygfsteel.com/kdboy/services/trackbacks/105386.html q次演示饼图制作Q简单介l饼囄样式效果?/span> PlotArea 对象的一些属性?/span>

 

一、生成饼?br />

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

讄图表cd?/font> 
 

DataSet ds  =  GetDataSet();
DataView dv 
=   new  DataView(ds.Tables[ " sanguo " ]);
// 清除图表所有数据序?/span>
C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.Clear();

q里和折U图一栗?/font>

 

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

为图表添加数据?/font>

q里与折U图不同的是饼图只需讄坐标轴的 Y 值即可,所有序列的相同索引的数据组合成一个饼图。这里将每一条数据放在一个新的数据序列里Qƈ且每个序列都只有一个元素。这P所有数据就会呈现在一个饼图中。如图:


q个是默认的饼图样式,是不是少点什么呢Q?/font>

接下来,介绍样式的设|?/font>

 

二、饼图样式设?/span>

1Q?span style="FONT: 7pt 'Times New Roman'">  d图例

C1WebChart1.Legend.Visible  =   true ;

Legend 对象?/span> Visible 属性ؓ true Q图例就会显C出来。这时图例的标签默认为序列的名称?/span>

 

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

讄图例标签的显C内宏Vؓ了代码简z也可以在添加数据的同时讄?/span>

 

另外Q我们还可以使用 Legend 对象Q图例对象)讄图例的显C样式。如Q?br />

C1WebChart1.Legend.Compass  =  CompassEnum.West;

讄图例昄位置?/font>

 

其他一些属性,例如 Orientation 讄图例昄方向Q以U向昄或横向显C){,不作详细介绍Q可自己试使用?/span>

 

2Q?span style="FONT: 7pt 'Times New Roman'">  Z让数据更加直观,可在饼图d标签

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

首先Q实例化标签q设|标{ֆ容及相关属性?/font>

然后使用 AttachMethodData 对象讄标签附加在图表中的位|?/span>

GroupIndex 是指图表索引。(W一文章提到过 WebChart 默认支持 2 个图表)

SeriesIndex 是指序列索引?/span>

PointIndex  是指序列中的元素索引?/span>

 

讄完成Q效果图如下Q?/font>


 

三?/span> 3D 效果的实?/span> ?/span>

1 Q开?/span> 3D 效果?br />

C1WebChart1.ChartGroups[ 0 ].Use3D  =   true ;

?/span> 3D 样式昄Q该步骤必须存在?/span>

 

3Q?span style="FONT: 7pt 'Times New Roman'">  3D 样式

// 3D囑Ş的深?/span>
C1WebChart1.ChartArea.PlotArea.View3D.Depth  = 20 ;
// 以y轴作为参照的 旋{角度(只有x_q个属性设|无?
C1WebChart1.ChartArea.PlotArea.View3D.Rotation  = 90 ;
// 以x轴作为参照的 倾斜角度
C1WebChart1.ChartArea.PlotArea.View3D.Elevation  = 30 ;
// 讄3D囑Ş的阴影效?/span>
C1WebChart1.ChartArea.PlotArea.View3D.Shading  =  ShadingEnum.ColorDark;

3D 样式是?/span> PlotArea 对象?span lang="EN-US">View3D属性来讄?/span>

主要是以上四个属性的讄?/font>

昄效果如下Q?/font>

 


四、补充概?/span>

或许之前说到的各囑Ş区域比较ҎhQ下面以囑Ş介绍个图形区域:

 

灰色 为整?/span> WebChart 区域Q对应对象就?/span> this.C1WebChart1 ?/span>

桔黄?/span> 为图表区域,对应对象?/span> this.C1WebChart1.ChartArea ?/span>

l色 为绘囑֌Q对应对象ؓ this.C1WebChart1.ChartArea.PlotArea ?/span>

U色 为图表的上标题,对应对象?/span> this.C1WebChart1.Header ?/span>

蓝色 为图表的下标题,对应对象?/span> this.C1WebChart1.Footer ?/span>

 

使用相关对象可以讄个区域的样式效果。了解这些可以用属性窗口快速设|一些简单样式?/font>

 

五、结?/strong>

我希望通过一些实例能够比较全面的介绍 WebChart 的主要对象的使用。在下一ơ,会演C柱形图的制作。本ơ实例的完整代码下蝲地址如下Q?/span>

 http://www.aygfsteel.com/Files/kdboy/ChartPie.rar



kdboy 2007-03-21 22:03 发表评论
]]>
ComponentOne WebChart的?- 3Q折U图Q?http://www.aygfsteel.com/kdboy/archive/2007/03/08/102494.htmlkdboykdboyWed, 07 Mar 2007 17:06:00 GMThttp://www.aygfsteel.com/kdboy/archive/2007/03/08/102494.htmlhttp://www.aygfsteel.com/kdboy/comments/102494.htmlhttp://www.aygfsteel.com/kdboy/archive/2007/03/08/102494.html#Feedback4http://www.aygfsteel.com/kdboy/comments/commentRss/102494.htmlhttp://www.aygfsteel.com/kdboy/services/trackbacks/102494.html     本篇文章演C如何?/span> WebChart 制作折线图。ƈ通过CZ介绍数据对象一些相兛_性以?/span> ChartArea ?/span> Axis 的相兛_性设|,q演CZ?/span> WebChart 做交互式的设计?br />    注:版本 ComponentOne.Studio.Enterprise.2006.v2 
        环境
.NET Compact Framework 1.1

 

一、生成折U图

1) 获取 WebChart 的第一个图标,q设|其图表cd为折U图

C1WebChart1.ChartGroups[ 0 ].ChartType  =  Chart2DTypeEnum.XYPlot;

2) 为图表添加数?br />

DataSet ds  =  GetDataSet();

获取数据。这里可以根据自q业务需求,或自动生成或查询数据库,q回一?/span> DataSet 对象?/span>


DataView dv  =   new  DataView(ds.Tables[ " sanguo " ]);
PointF[] data 
=  (PointF[])Array.CreateInstance( typeof (PointF), dv.Count);
int  i;
for (i = 0 ; i  <  data.Length; i ++ )
{
      float  y  =   float .Parse(dv[i][ " value " ].ToString());
      data[i] 
=   new  PointF(i, y);
}

数据封装在 PointF cd的对象数l中。这里可以用Q何方式封装数据?br />
 

// 清除图表所有数据序?/span>
C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.Clear();

// 创徏一个新的数据序列,q设|数?/span>
ChartDataSeries series  =  C1WebChart1.ChartGroups[ 0 ].ChartData.SeriesList.AddNewSeries();

WebChart 默认会有 4 个数据序列,Z不让其他序列影响输出效果Q清除序列集合中的所有序列,q且创徏一个新的序列?/span>

 

series.PointData.CopyDataIn(data);

数据添加至新徏的数据序列中。这里?/span> PointData 属性,同时?/span> X ?/span> Y 坐标付倹{?/span>

 

到这里,我们便可以运行程序,看到一个有我们的数据生成的一个默认样式的折线图。下面来介绍使用 ChartDataSeries 对象讄囑Ş的样式?/span>

 
二、?/span> ChartDataSeries 对象讄折线图样?/span>

关于 ChartDataSeries 对象Q之前已作了单介l,q里直接以代码介l其部分属性?br />

series.FitType  =  FitTypeEnum.Spline;

讄折线为^滑曲Uѝ?br />

series.LineStyle.Color  =  Color.Red;

讄折线颜色为红艌Ӏ?/span>

LineStyle 的相兛_性:

Pattern - 讄折线的类?/span> Q实心直Uѝ点U等Q,其gؓ LinePatternEnum 枚Dcd?/span>

Thickness ? 讄折线厚度

series.SymbolStyle.Shape  =  SymbolShapeEnum.InvertedTri;
series.SymbolStyle.Color 
=  Color.Blue;

讄折线上数据点的符号Ş状ؓ倒三角,颜色艌Ӏ?/span>

q可以通过 SymbolStyle 讄W号的大,W号边线的颜色及厚度。可以自己尝试?/span>

 

三、坐标u的设|?/span>

Axis ax  =  C1WebChart1.ChartArea.AxisX;

获取图表?/span> X 坐标轴?/span>

 

ax.AnnoMethod  =  AnnotationMethodEnum.ValueLabels; 

讄坐标轴刻度标{显C方式,q里使用 ValueLabels Q有用户来制定标{ֆ宏V默认ؓ Values 模式Q有pȝ自动标注标签内容?br />

for (i  =   0 ; i  <  data.Length; i ++ )
{
      DataRowView drv 
=  dv[i];
      ax.ValueLabels.Add(i, (
string )drv[ " name " ]);
}

讄坐标轴刻度标{显C内宏V?/span>

ax.ValueLabels.Add 的第一个参Cؓ图表数据?/span> x |W二个参Cؓ对应昄的标{文本?/span>

 

ax.AnnotationRotation  =   - 60 ;

讄d标签的旋转角度?/span>

对于标签内容q可以用属?/span> AnnoFormatString 来设|内容的格式?/span>


ax.Text  =   " X 坐标轾b?/span> " ;

讄坐标轴标题?/span>

ax.Rotation  =  RotationEnum.Rotate90;

讄坐标轴标题的旋{角度。当坐标轴标题设|以后生效?/span>

对于坐标轴标题,q可以设|它?/span> 寚w方式Q用属?/span> Alignment ?/span>

 

ax.Max  =  data.Length  -  . 5 ;

讄坐标轴的最大长?/span>

相应的还?/span> Min 属性设|坐标u的最长度, Origin 属?/span> 讄坐标轴原炏V对应这些,q有 AutoMax ?/span> AutoMin ?/span> AutoOrigin {?/span> bool cd的属性,表示是否自动讄?/span>

对于d值的也有cM属性: UnitMajor ?/span> UnitMinor 讄丅R副d的单位长度。以及对应的 auto 属性等?/span>

 

除此之外Q还有一些特D属性:

Reverse 属性:使坐标u反{?/span>

ScrollBar 属性:为坐标ud滚动条?/span>

Visible 属性:可以隐藏坐标轴?/span>

OnTop 属性:可以讄坐标轴显C在图表上方?/span>

{等?/span>

在我们?/span> .NET 开发环境中Q会有智能感知的相关提示Q对于对象属性的使用会简单得多。这里只介绍了主要的属性,其他属性可Ҏ需要自行尝试?/span>

 

四、交互式设计

C1WebChart1.ImageAreas.GetByName( " ChartArea " ).href = " http://kdboy.spaces.live.com "  temp_href = " http://kdboy.spaces.live.com " ;

为图表区域增加链接?br />

C1WebChart1.ImageAreas.GetByName( " ChartData " ).Tooltip  =   " X={#XVAL}, Y={#YVAL:c} " ;

为折U上的数据点增加鼠标提示。(鼠标U至数据点的W号上,会提CZ所讄文本Q?br />

C1WebChart1.ImageAreas.GetByName( " Footer " ).Attributes  =   " onclick=window.open('http://kdboy.spaces.live.com') " ;

为图表底部添加点M件?/span>

 

五、补?/span>

C1WebChart1.Footer.Text  =   " Web Chart Test! " ;
C1WebChart1.Footer.Visible 
=   true ;

q里讄图标下标题,q让图表 Footer 区域昄在图表中?/span>

对于 C1WebChart 的相兛_性比较简单,不再一一演示?/span>

 

六、结?/span>

以上是折U图的部分代码,完整CZ可以通过下面链接下蝲?br />下蝲地址Q?a href="/Files/kdboy/2DChartXYPlot.rar">http://www.aygfsteel.com/Files/kdboy/2DChartXYPlot.rar

 

附录Q?/span>

效果?br />



kdboy 2007-03-08 01:06 发表评论
]]>
վ֩ģ壺 ˺| | ˮ| ɽʡ| ̨| | | | ͼľ| | | ƽ| | | | | | ɽ| ͬ| | | | | | ʯׯ| | | ȳ| | ƽ| żҿ| Ҧ| | | | | | ɽ| | | |