- 使用Tablelayout 容器控件,可以更好地规划界面、缩放自如。
- 每个单元格默认只能放一个空间,如果想多几个可以使用panel解决
3、图形数据传入开发
- 选对相应的坐标系series
- 利用add方法在这个坐标系的点集合中添加最新的坐标点
- 坐标点的个数使用count方法来记录,坐标点的移除使用remove或者removeat方法
图表属性
ChartAreas属性(绘图区)
可以设置图表的背景颜色,坐标轴间隔,范围,坐标轴名称等。
Axes:坐标轴集合-非常重要的部分,可分别设置X轴(X axis),Y轴(Y axis),第二X轴(SecnondaryX axis)和第二Y轴(Secnondary Y axis),常用的属性包括:
a.ArrowStyle设置坐标轴是否有箭头
b.Interval:轴刻度间隔大小
c.IntervalOffset:轴刻度偏移量大小
d.LableStyle 设置坐标轴的文字大小等
e.MajorGrid:主要辅助线
f.MajorTickMark:主要刻度线
g.MinorTickMark:次要刻度线
h.MinorGrid:次要辅助线
i.Title:坐标轴标题
j.TitleAlignment:坐标轴标题对齐方式
注意:Axes属性又是一个“ 集合属性”,这也是为什么是Asex,而不是Axis,因为Asex是Axis的复数形式。Asex集合中放置的元素是Axis类型的实例,我们可以通过属性设计器去完成;默认情况下,每一个绘图区会有两组坐标系,即X、Y、第二X、第二Y。要访问某一个
chart1.ChartAreas[1].Axes[3].属性或者是方法
这些属性或者是方法可以设置坐标轴的显示样式,网格的显示方式等等,可以认为定制的。
Series属性
增加xy点
chart1.Series[0].Points.AddXY(i + 1, ww[i]);
chart1.Series[1].Points.AddXY(i + 1, hh[i]);
1.ChartArea:图表所属的绘图区域名称
2.ChartType:图表类型(柱形、饼形、线形、点形、折线图等,有多达几十种之多)
3.IsValueShownAsLabel:是否显示数据点标签,如果为true,在图表中显示每一个数据值
4.Label:数据点标签文本
5.LabelFormat:数据点标签文本格式
6.LabelAngle:标签字体角度
7.Legend:当前数据系列(图表)使用的图例名称
8.Name:数据系列的名称
9.Palette:数据系列(图表)外观定义
10.Points:数据点集合,构成数据系列的点
11.XValueMember:横坐标绑定的数据源
12.XValueType:横坐标数字的类型,默认为auto,即根据传入的数据自动规定类型
13.YValueMembers:纵坐标绑定的数据源
14.YValueType:纵坐标数字的类型默认为auto,即根据传入的数据自动规定类型
15.XAxisType:只是所要使用的坐标轴是主坐标还是副坐标,它有两个取值,Primary和Sencondary
16.YAxisType:
17. 映射区(TooTip):鼠标放在数据点上出现的小提示,建议用代码控制;
legends
1.Alignment:对齐方式
2.AutoFitMinFontSize:当IsTextAutoFit为true时,显示的最小字体
3.BackColor:背景颜色,当本身的绘图区域有背景时,将其设置为transparent效果更佳。
4.enabled:是否显示图例
5.IsTextAutoFit:文字大小根据图例区域的大小自动调整
6.Position:图例出现的位置
项目1
初始化
void SFR_ChartInt()
{
//其中ChartArea1就是一个画图区,也即一个屏幕里面多了一张chart
//此时就可以选择哪个图表进行编辑了(当然也可以直接[0][1]这样子)
chart1.ChartAreas["ChartArea1"].AxisX.Title = "空间频率(LP/PH)";
chart1.ChartAreas["ChartArea1"].AxisY.Title = "调制度";
chart1.Titles.Clear();
chart1.Titles.Add("空间频率响应特征");
chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
chart1.ChartAreas["ChartArea1"].AxisX.IntervalOffset = 0.00D;
chart1.ChartAreas["ChartArea1"].AxisX.Interval = 50;
chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "N0";
chart1.ChartAreas["ChartArea1"].AxisX.Maximum = 255;
chart1.ChartAreas["ChartArea1"].AxisY.IntervalOffset = 0.00D;
chart1.ChartAreas["ChartArea1"].AxisY.LabelStyle.Format = "0.0";
chart1.ChartAreas["ChartArea1"].AxisY.Maximum =