zoukankan      html  css  js  c++  java
  • 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

    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;

  • 相关阅读:
    jackson 枚举 enum json 解析类型 返回数字 或者自定义文字 How To Serialize Enums as JSON Objects with Jackson
    Antd Pro V5 中ProTable 自定义查询参数和返回值
    ES6/Antd 代码阅读记录
    es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?
    Antd Hooks
    使用.Net Core开发WPF App系列教程(其它 、保存控件内容为图片)
    使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
    使用.Net Core开发WPF App系列教程( 四、WPF中的XAML)
    使用.Net Core开发WPF App系列教程( 二、在Visual Studio 2019中创建.Net Core WPF工程)
    使用.Net Core开发WPF App系列教程( 一、.Net Core和WPF介绍)
  • 原文地址:https://www.cnblogs.com/rosesmall/p/9317311.html
Copyright © 2011-2022 走看看