WinForm中Chart控件操作

原创
小哥 3年前 (2022-11-16) 阅读数 95 #大杂烩

对于Chart这个图表控件,知道它但是没有怎么用过,所以今天记录并分享给大家( 我这边做的是折线图 )。

一.先建一个WinForm项目,然后拖一个Chart控件,如下图:

二.给Chart控件的Series属性添加集合,因为我这边要做四条折线,所以我就添加了四个,大家根据自身需求添加。

这里面的属性的话,我感觉比较重要就这两个。

(一)CharType属性:因为我用的是折线,所以我选择Line,它里面还有很多大家可以去研究一下。

(二)Color属性:数据点颜色(我选择的折线图,也就是折线的颜色)。

(三)Name属性:这边写好这个图表的名称,右边会对应生成图表图例,会结合上面你选择的Color和Name生成。

都弄好后如下图:

三. 下面就可以绑定数据源了,代码如下:

因为我有四个折线图,所以说每一个节点处需要对应四个数据,这边我用了一个实体类(XyLocationModel),如下:

    public class XyLocationModel
    {
        /// 
        /// 第一个
        /// 
        public int ACount { get; set; }

        /// 
        /// 第二个
        /// 
        public int BCount { get; set; }

        /// 
        /// 第三个
        /// 
        public int CCount { get; set; }

        /// 
        /// 第四个
        /// 
        public int DCount { get; set; }
    }

    public partial class Form1 : Form
    {
        public List list = new List();

        public Form1()
        {
            InitializeComponent();
            //初始化数据源
            Random rd = new Random();

            //我这边是循环30次并给随机数(偷懒),得到我们需要给图表绑定的数据源list
            for (int i = 0; i < 30; i++)
            {
                XyLocationModel xy = new XyLocationModel();
                xy.ACount = rd.Next(0, 500);
                xy.BCount = rd.Next(0, 500);
                xy.CCount = 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间隔一次。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除