Chart控件,chart、Series、ChartArea曲线图绘制的重要属性介
绍
先简单说⼀下,从图中可以看到⼀个chart可以绘制多个ChartArea,每个ChartArea都可以绘制多条Series。ChartArea就是就是绘图区域,可以有多个ChartArea叠加在⼀起,series是画在ChartAarea上的,Series英⽂意思是“序列、连续”,其实就是数据线,它可以是曲线、点、柱形、条形、饼图...可以注意该chart当数据⾮常多的时候可以通过⿏标选择查看区域,进⼀步拖拽横纵向滚动条来缩⼩曲线图查看。
代码中的Chart控件的命名是chartData,数据源是dt,由于chart属性太多,不好⼀⼀解释,所以请仔细看截图,尤其重视本例⽤到的属性
⼀、数据源:
数据返回⽅式是DataSet.Tables[0],即DataTable,也是最基本的数据源⽅式。这⾥只介绍DataTable绑定数据源,很简单:
chartData.DataSource = dt;
chartData.DataBind();
⼆、Series:
Series是画在ChartArea上的线、点、柱形、条形、饼图,简单点⼉说就是画在上⾯的数据,直接说属性,
1. “标记”:就是数据点,某个数据值的点。如下图所⽰:
MarkerBorderWidth 数据点边框的宽度
MarkColor 数据点的颜⾊
MakerSize 数据点的⼤⼩,默认值为0数据点不存在,建议代码控制
MarkerStep 数据点显⽰的频率
MarkerStyle 数据点的样式,可以是⽅块、圆圈、三⾓、叉⼦....
2. “标签”:就是现在是在数据点旁边数据值
SmartLabelStyle 数据值样式
SmartLabelStyle.Enabled 直接控制可⽤不可⽤,建议不可⽤
SmartLabelStyle.AllowOutsidePloArea 数据值显⽰是否允许在外⾯
其他属性⾃⼰试吧
注意:如果要使⽤SmartLabelStyle的话,所有的数据点的值都会⾃动位置显⽰出来,如果某⼀个区域数据点较多,就会直线指⽰;如果不⽤的话,数据点的值会在数据点旁边显⽰,不会有直线。如下图所⽰也可以看到AllowOutsidePlotArea的区别:
3. “Font”:数据标签上的字体和样式
Font.Unit 个⼈设置此值为Document,⾃⼰体会
LabelAngle 标签⾓度,斜多少度,建议就正着
LabelBackColor 标签背景颜⾊
LabelBorderColor 标签边框颜⾊
LabelBorderDahStyle 标签边框样式
LabelBorderWidth 标签边框宽度
LabelForeColor 标签字体颜⾊
其他属性⾃⼰试
真好看数据多的时候本来显⽰就乱拉,这样更是画蛇添⾜,建议透明,正常点的颜⾊就好
4. 数据:其实就是就是serie的名字和值类型
XvalueType X轴值类型
YValuesPerPoint 数据点的Y值数⽬
YValueType Y轴值类型
其他属性⾃⼰试
默认不⽤设置就好,主要是X轴和Y轴值类型设置的是Auto,也就是根据X轴上的值和Y轴上的值的类型⾃动匹配,当然⼿动设置的话不设错就⾏了。
5. 数据源:注意这⾥是Series的数据源
注意:
第⼀,这两个属性对应的是DataTable的两个列,也就是⼀般的X轴对应时间,Y轴对应数据值,但是也要注意对DataTable的每个数据单元的值做判断,尤其是DBNull或空。我这⾥的数据库的NewDateTime列数据类型是DateTime类型,NewFyj是Double类型。
第⼆,Series的数据源和Chart控件的数据源有区别,只有DataTable先绑定了Chart,Series才对应到列,否则⽆法对应。
第三,假如⽤户需要先查看所有数据,然后取消某⼏条进⾏数据对⽐,但是不需要重新查询数据,推荐赋值string.Empty实现,如下图: 7. 图例:也就是每个Serie的名字和样式,只要创建Serie就会⾃动产⽣加载在Legend⾥,⾥⾯的属性可以试⼀下,如果想调整Legend的位置,可以去Legend集合⾥设置,⽐较简单,这⾥不多说
LabelStyle 对标签硬性的规定显⽰在数据点旁的哪个位置
11. 轴:也就是X轴和Y轴,X轴有主轴和副轴,Y轴也有主轴和副轴,主轴为Primary,副轴为Secondary。X主轴在下⽅,Y主轴在右⽅,X 副轴在上⽅,Y副轴在右⽅。
1. 对齐:ChartArea对齐⽅式
AlignmentStyle 根据哪种⽅式对齐
AlignmentWithChartArea 和哪个对齐
⽼实说,没啥⽤,可以设置Position,⼀会⼉在外观⾥会说到
2. 三维:⾃⼰试试,效果很沉重,不是很好
3. 外观:可以对ChartArea颜⾊、边框、位置的设置
BackColor ChartArea的背景颜⾊
BackGradientStyle 背景颜⾊的渐变⽅式
BackHatchStyle 背景阴影
BackImage 背景图⽚
BackImageAlignment 图⽚显⽰位置
BackImageTransparentColor 绘制图像时显⽰的颜⾊
BackImageWrapMode 包装模式
BackSecondaryColor ChartArea的第⼆背景颜⾊,搭配渐变⽤的
BorderColor 边框颜⾊
BorderDashStyle 边框线的样式
BorderWidth 边框宽度
ShadowColor 整个图标的背影颜⾊
ShadowOffset 背影偏移量
注意:
第⼀,InnerPlotPosition和Position⼀个是⼤的,⼀个是内部绘制的,试⼀下就明⽩了,这⾥最重要的是多个ChartArea重叠在⼀起的时
候,两个Position⼀定要设置相同,否则就重叠不上了。
第⼆,多个ChartArea重叠在⼀起的时候,颜⾊或图⽚只能在叠在最底下的ChartArea来设置,上⾯的ChartArea都设置为透明即可,最底下的ChartArea是ChartAreas[0],所以不要设置错。
4. 游标:CursorX和CursorY,就是横向和纵向滚动条
CursorX.AxisType 游标作⽤在主轴还是副轴
CursorX.Interval 游标偏移的间隔
CursorX.IntervalOffset 游标间隔偏移量
CursorX.IntervalOffsetType 游标间隔的单位,建议Auto
CursorX.Type 游标间隔偏移量的单位,建议Auto
CursorX.IsUserEnabled 启⽤游标
CursorX.IsUserSelectedEnabled 启⽤游标选择区域
CursorX.LineColor 游标线颜⾊
CursorX.LineDashStyle 游标线样式
CursorX.LineWidth 游标线的宽度
CursorX.SelectionColor 游标选择区域的颜⾊
CursorY相同,其他属性⾃⼰试
⾸先强调⼀下,只要想选择区域细看曲线图,就⼀定要启⽤游标,游标的设置只能在叠加在最上⾯的ChartArea进⾏设置,也就是ChartArea[ChartArea.Count-1],。列了这么多属性看⼀下图更直观:
position标签属性5. 杂项:Name,没啥好说的
6. 轴Axes!!:⾮常重要,⼀个ChartArea有4个轴:主轴X axis、主轴Y(Value)axis、副轴X axis、副轴Y(Value)axis,每个轴属性均相同,只说⼀个⼀个轴
LabelAutoFitMaxFontSize 轴上标签⾃适应字体⼤号
LabelAutoFitMaxFontSize 轴上标签⾃适应字体⼩号
LabelStyle.Angle 标签显⽰⾓度
LabelStyle.IsEndLabelVisible 最后⼀个标签是否显⽰
其他属性⾃⼰试
我的Interval这⾥设置都是NotSet,没有设置Auto,为什么,⾃⼰试就明⽩了。
Title 轴的名字,X轴是时间轴,Title就是时间
其他属性⾃⼰试,简单
ScrollBar 滚动条
ScaleView是数据视图,也就是当前绘制出图表的⼀个区域,如果⽤⿏标选择某个区域展开显⽰,新展开的就⼜是⼀个ScaleView,只把它想成当前显⽰的视图就好理解了。
ScrollBar就是游标,之前我们说的ChartArea.CursorX或Y是也是游标,这⾥的ScrollBar是滚动条,仔细看两者的属性不难发现,⼀个是选择区域,⼀个是拖拽滚动条查看所有数据。
不多说了,需要⽹格的在这⾥设置就⾏,感觉设置完了很丑,不过各花⼊个眼,如下图,还不错哈
转载
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论