在.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. Spark内存管理

    本文基于Spark 1.6.0之后的版本 Spark 1.6.0引入了对堆外内存的管理并对内存管理模型进行了改进,SPARK-11389. 从物理上,分为堆内内存和堆外内存:从逻辑上分为executi ...

  2. JS基础内容小结(event 鼠标键盘事件)(三)

    var ev=ev||event 兼容性处理 得到焦点为 onfocus 失去焦点 onblur return false能阻止部分函数的执行 obj.select 选择指定元素里的文本内容 ———— ...

  3. linux下tomcat指定jdk和配置运行参数

    一.指定运行jdk 1)set classpath.sh和catalina.sh中写入: export JAVA_HOME=/usr/local/java/jdk1.8.0_121 export JR ...

  4. LintCode——Pour Water

    Pour Water: We are given an elevation map, heights[i] representing the height of the terrain at that ...

  5. PAT甲题题解-1050. String Subtraction (20)-水题

    #include <iostream> #include <cstdio> #include <string.h> #include <algorithm&g ...

  6. js中判断是否包含某个字符串

    1,字符串中是否包含 str.indexOf("3")indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1. ...

  7. alpha版发布

    网站网址:http://doeverying.applinzi.com/

  8. 每日scrum(7)

    今天是小组用来写文稿的日子,包括软件需求分析报告,概要设计报告,详细设计报告,数据库设计报告,软件测试报告,各组员领取自己的任务然后完成~ 任务看板: 燃尽图:

  9. LeetCode 638 Shopping Offers

    题目链接: LeetCode 638 Shopping Offers 题解 dynamic programing 需要用到进制转换来表示状态,或者可以直接用一个vector来保存状态. 代码 1.未优 ...

  10. github优缺点

    以前bitbucket沒有支援git github可以直接在網站上瀏覽push的圖片 github 可以針對code行數直接留言與回覆 github Markdown支援很好 github 的issu ...