对于Chart这个图表控件,知道它但是没有怎么用过,所以今天记录并分享给大家(我这边做的是折线图)。
一.先建一个WinForm项目,然后拖一个Chart控件,如下图:
二.给Chart控件的Series属性添加集合,因为我这边要做四条折线,所以我就添加了四个,大家根据自身需求添加。
这里面的属性的话,我感觉比较重要就这两个。
(一)CharType属性:因为我用的是折线,所以我选择Line,它里面还有很多大家可以去研究一下。
(二)Color属性:数据点颜色(我选择的折线图,也就是折线的颜色)。
(三)Name属性:这边写好这个图表的名称,右边会对应生成图表图例,会结合上面你选择的Color和Name生成。
都弄好后如下图:
三.下面就可以绑定数据源了,代码如下:
因为我有四个折线图,所以说每一个节点处需要对应四个数据,这边我用了一个实体类(XyLocationModel),如下:
public class XyLocationModel{/// <summary>/// 第一个/// </summary>public int ACount { get; set; }/// <summary>/// 第二个/// </summary>public int BCount { get; set; }/// <summary>/// 第三个/// </summary>public int CCount { get; set; }/// <summary>/// 第四个/// </summary>public int DCount { get; set; }}
public partial class Form1 : Form{public List<XyLocationModel> list = new List<XyLocationModel>();public Form1(){InitializeComponent();//初始化数据源Random rd = new Random();//我这边是循环30次并给随机数(偷懒),得到我们需要给图表绑定的数据源listfor (int i = 0; i < 30; i++){XyLocationModel xy = new XyLocationModel();xy.ACount = rd.Next(0, 500);xy.BCount = rd.Next(0, 500);ount = rd.Next(0, 500);xy.DCount = rd.Next(0, 500);list.Add(xy);}}private void Form1_Load(object sender, EventArgs e){//循环绑定数据源for (int i = 0; i < list.Count(); i++){//分别给四个图表添加节点,X轴我就是从1开始chart1.Series[0].Points.AddXY(i + 1, list[i].ACount);chart1.Series[1].Points.AddXY(i + 1, list[i].BCount);chart1.Series[2].Points.AddXY(i + 1, list[i].CCount);chart1.Series[3].Points.AddXY(i + 1, list[i].DCount);}}}
完成后可以看结果了,如图:
最后就是,一些属性的问题,自己用到感觉比较重要的。
Chart控件——>ChartArea属性——>轴下面的Axes——>X axis——>刻度——>Maximun和Minimum(设置X轴刻度最大和最小值)像我做的就是Maximun为31、Minimun为1;
Chart控件——>ChartArea属性——>轴下面的Axes——>X axis——>网格刻度线——>MajorGrid——>Interval(网络或标记间隔大小)默认是Auto这样刻度会自动给你分配
Chart控件——>ChartArea属性——>轴下面的Axes——>X axis——>间隔——>Interval(轴间隔大小)默认是Auto这样间隔会自动给你分配,下图我Y轴间隔设置了500,它的Y轴就每500间隔一次。