C# chart控件基础使用

基本介绍:chart(图表)

功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器);

需要说明

 一个chart可以包含多个chartArea。 chartArea是具体的坐标区域。 每一个chartArea主要包含X轴,Y轴,副X轴(上方),副Y轴(右方),绑定的线条,绑定的图例。  数据列可以有许多,只要将线条绑定到chartArea就可以在对应的chartArea显示。

关于chart类的官方文档:

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datavisualization.charting.chart(v=vs.110).aspx#%E5%B1%9E%E6%80%A7

 chart中所有数据储存在series类中,对数据的操作也集成在series类下。

具体请参照官方series类说明:

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datavisualization.charting.series(v=vs.100).aspx

扫描二维码关注公众号,回复: 2180341 查看本文章

chart的使用:

                chart控件的基本使用包括:

                                                      1.设置图表基本属性,包括背景色,样式等 (必要)

                                                      2.设置图表标题及其格式

                                                      3.设置X轴Y轴相关属性

                                                      4.设置图例相关属性

                                                      5.数据列设置(必要)

                                                      6.添加数据列,并设置绘图类型(必要)

一个实例:

            #region 设置图表的属性

            //图表的背景色

            chart1.BackColor = Color.FromArgb(211, 223, 240);

            //图表背景色的渐变方式

            chart1.BackGradientStyle = GradientStyle.None;

            //图表的边框颜色、

            chart1.BorderlineColor = Color.FromArgb(26, 59, 105);

            //图表的边框线条样式

            chart1.BorderlineDashStyle = ChartDashStyle.Solid;

            //图表边框线条的宽度

            chart1.BorderlineWidth = 2;

            //图表边框的皮肤

            chart1.BorderSkin.SkinStyle = BorderSkinStyle.None;

            #endregion

 

            #region 设置图表的Title

            Title title = newTitle();

            //标题内容

            title.Text = "BER";

            //标题的字体

            title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Regular);

            //标题字体颜色

            //title.ForeColor = Color.FromArgb(26, 59, 105);

            //标题阴影颜色

            //title.ShadowColor = Color.FromArgb(32, 0, 0, 0);

            //标题阴影偏移量

            //title.ShadowOffset = 3;

 

            chart1.Titles.Add(title);

            #endregion

 

            #region 设置图表区属性

            //图表区的名字

            ChartArea chartArea =new ChartArea("Default");

            //背景色

            chartArea.BackColor = Color.White;//Color.FromArgb(64, 165, 191, 228);

            //背景渐变方式

            chartArea.BackGradientStyle = GradientStyle.None;

            //渐变和阴影的辅助背景色

            chartArea.BackSecondaryColor = Color.White;

            //边框颜色

            chartArea.BorderColor = Color.Blue;

            //边框线条宽度

            chartArea.BorderWidth = 2;

            //边框线条样式

            chartArea.BorderDashStyle = ChartDashStyle.Solid;

            //阴影颜色

            //chartArea.ShadowColor = Color.Transparent;

 

            //设置X轴和Y轴线条的颜色和宽度

            chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);

            chartArea.AxisX.LineWidth = 1;

            chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);

            chartArea.AxisY.LineWidth = 1;

 

            //设置X轴和Y轴的标题

            //chartArea.AxisX.Title = "time";

            //chartArea.AxisY.Title = "count";

            //chartArea.AxisX.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);

            //chartArea.AxisY.TitleFont = new System.Drawing.Font("Microsoft Sans Serif", 10, FontStyle.Regular);

 

            //设置图表区网格横纵线条的颜色和宽度

            chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);

            chartArea.AxisX.MajorGrid.LineWidth = 1;

            chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);

            chartArea.AxisY.MajorGrid.LineWidth = 1;         

 

            chart1.ChartAreas.Add(chartArea);

            #endregion

 

            #region 图例及图例的位置

            Legend legend = newLegend();

            legend.Alignment = StringAlignment.Center;

            legend.Docking = Docking.Bottom;

            legend.BackColor = Color.Transparent;

 

            this.chart1.Legends.Add(legend);

            #endregion

 数据点设置:

Series series = new Series(string.Format("Ch{0}", i + 1));

 

            //Series的类型

            series.ChartType =SeriesChartType.Line;

            //Series的边框颜色

            series.BorderColor =Color.FromArgb(180, 26, 59, 105);

            //线条宽度

            series.BorderWidth = 3;

            //线条阴影颜色

            //series.ShadowColor= Color.Black;

            //阴影宽度

            //series.ShadowOffset= 2;

            //是否显示数据说明

            series.IsVisibleInLegend= true;

            //线条上数据点上是否有数据显示

           series.IsValueShownAsLabel = false;

            //线条上的数据点标志类型

            series.MarkerStyle =MarkerStyle.None;

            //线条数据点的大小

            //series.MarkerSize= 8;

 绘制图表/折线:

//添加数据点

                this.chart1.Series.Add(series);

//使用折线图

                this.chart1.Series.ChartType = SeriesChartType.Line;

猜你喜欢

转载自www.cnblogs.com/rosesmall/p/9317311.html