WinForm Chart控件使用记录(由于制作饼装,柱状,折线图)

由于公司的winform项目需要用到Chart图表,抽空研究了一下,特地发上来给大家做个参考,就目前而言用到的属性说明都做了注释;

主要用到Chart控件图表区域的属性有五个属性 
Annotations 批注集合(我没怎么用到,但是配置的话会在图标区域出现一些可以备注的东西吧) 
ChartAreas 图表区属性;主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等 
Lengends 图表图例集合 主要设置图表边说明的一些东西,这次项目没什么用到,但是觉得这个基本没啥用,有什么说明一般都另外添加的,用不到自带的属性 
Series 图表序列属性,chart设置中基本大多数的设置都在这里了,用来设置数据的一下外观,数据类型(饼图,折线图,树状图等等) 
Title 图表标题集合,用来设置图表的标题

1 //这是添加的两组数据
2    List<int> txData2 = new List<int>() { 2011, 2012, 2013, 2014, 2015, 2016 };
3    List<int> tyData2 = new List<int>() { 9, 6, 7, 4, 5, 4 };
4    List<int> txData3 = new List<int>() { 2012 };
5    List<int> tyData3 = new List<int>() { 7 };
 1 Chart ct= new Chart();
 2  //若为new一个Chart,需同时Add其Title,Series,ChartAreas等属性
 3  //若是直接拖入控件则只需在控件属性中自己调整就好
 4  //标题
 5  ct.Titles.Add("我的历年合同均价(元/兆千瓦时)");
 6  //背景
 7   ct.ChartAreas.Add(new ChartArea() { Name = "ca1" });     //背景框
 8   ct.ChartAreas[0].Axes[0].MajorGrid.Enabled =false;       //X轴上网格
 9   ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;      //y轴上网格
10   ct.ChartAreas[0].Axes[0].MajorGrid.LineDashStyle = ChartDashStyle.Dash;   //网格类型 短横线
11   ct.ChartAreas[0].Axes[0].MajorGrid.LineColor = Color.Gray;
12   ct.ChartAreas[0].Axes[0].MajorTickMark.Enabled =false;                   //  x轴上突出的小点
13   ct.ChartAreas[0].Axes[1].MajorTickMark.Enabled = false;                  //
14   ct.ChartAreas[0].Axes[1].IsInterlaced = true;  //显示交错带
15   ct.ChartAreas[0].Axes[0].LabelStyle.Format = "#年";                      //设置X轴显示样式
16   ct.ChartAreas[0].Axes[1].MajorGrid.LineDashStyle = ChartDashStyle.Dash;   //网格类型 短横线
17   ct.ChartAreas[0].Axes[1].MajorGrid.LineColor = Color.Gray;
18   ct.ChartAreas[0].Axes[1].MajorGrid.LineWidth = 3;
19   //图表数据区,有多个重叠则循环添加
20   ct.Series.Add(new Series()); //添加一个图表序列
21   // ct.Series[0].XValueType = ChartValueType.String;  //设置X轴上的值类型
22   ct.Series[0].Label = "#VAL";                //设置显示X Y的值
23   ct.Series[0].ToolTip = "#VALX年\r#VAL";     //鼠标移动到对应点显示数值
24   ct.Series[0].ChartArea = "ca1";                   //设置图表背景框
25   ct.Series[0].ChartType = SeriesChartType.Line;    //图类型(折线)
26   ct.Series[0].Points.DataBindXY(txData2, tyData2); //添加数据
27  //折线段配置
28  ct.Series[0].Color = Color.Red;               //线条颜色
29  ct.Series[0].BorderWidth = 3;                 //线条粗细
30  ct.Series[0].MarkerBorderColor =Color.Red ;   //标记点边框颜色
31  ct.Series[0].MarkerBorderWidth=3;             //标记点边框大小
32  ct.Series[0].MarkerColor =Color.Red   ;       //标记点中心颜色
33  ct.Series[0].MarkerSize =  5;                 //标记点大小
34  ct.Series[0].MarkerStyle=MarkerStyle.Circle;  //标记点类型
35
36  ct.Series.Add(new Series()); //添加一个图表序列
37  ct.Series[1].Label = "#VAL";                //设置显示X Y的值
38  ct.Series[1].ToolTip = "#VALX年\r#VAL";     //鼠标移动到对应点显示数值
39  ct.Series[1].ChartType = SeriesChartType.Line;    //图类型(折线)
40  ct.Series[1].Points.DataBindXY(txData3, tyData3); //添加数据
41  //折线段配置
42  ct.Series[1].Color = Color.Black;               //线条颜色
43  ct.Series[1].BorderWidth = 3;                   //线条粗细
44  ct.Series[1].MarkerBorderColor = Color.Black;   //标记点边框颜色
45  ct.Series[1].MarkerBorderWidth = 3;             //标记点边框大小
46  ct.Series[1].MarkerColor = Color.Black;         //标记点中心颜色
47  ct.Series[1].MarkerSize = 5;                    //标记点大小
48  ct.Series[1].MarkerStyle = MarkerStyle.Circle;  //标记点类型
49
50  //另外
51  //饼图说明设置,这用来设置饼图每一块的信息显示在什么地方
52  ct.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
53  ct.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
54  //柱状图其他设置
55   ct.Series[0]["DrawingStyle"] = "Emboss";   //设置柱状平面形状
56   ct.Series[0]["PointWidth"] = "0.5"; //设置柱状大小

时间: 2024-10-05 23:54:30

WinForm Chart控件使用记录(由于制作饼装,柱状,折线图)的相关文章

Winform Chart控件绘制阴影区域

先来看看效果 公司电力项目需要绘制这种工业图表,之前同事用Series绘制的 有点麻烦 需要计算起始点位置,后来我发现Chart控件本来就提供了这种阴影属性,简单方便 直接上代码 private void InitChart() { ChartArea chartArea2 = new ChartArea(); chartArea2.AxisX.Minimum = 10; chartArea2.AxisX.Maximum = 100; chartArea2.AxisX.Interval = 10

WPF调用Winform Chart控件绘图

最近在研究WPF,需要用到类似Chart的控件来绘制折线图,横坐标自定义时间信息.先后研究了DynamicDataDisplay.ChartPlotter.Toolkit,因为WPF用的人太少了,这方面可以查到的资料太少了.DynamicDataDisplay.ChartPlotter虽然能实现横坐标显示时间,但是我想显示的是历史的时间信息,非当下时间,遂弃之.如果有知道的大神,可以提点下我怎么改. 以上种种,导致我想用熟悉的Winform下的Chart来绘制. 1.首先添加引用 System.

WPF 使用WinForm Chart控件

第一步:  页面 首先引用命名空间 xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:Chr="clr-namespace:System.Windows.Form

Winform的Chart控件使用笔记

这里记录在使用Winform的Chart控件过程中发现的一些技巧点. 1. 撤销所有放大动作 chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(1); —— 撤销一次放大动作 chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(0); —— 撤销所有放大动作 Winform的Chart控件使用笔记

[原创]WinForm分页控件制作

先简单说一下思路: 1.做一个分页控件的导航类,即记录总页数.当前页.每页记录数,下一页.上一页.跳转等操作的页数变更. class PageNavigation{/// <summary>/// display item count for per page/// default value is 20/// </summary>private int _iPerItemCount = 20;public int PerItemCount{get { return _iPerIt

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只

C#用serialPort和chart控件实现简单波形绘制

先看最终的效果图: 主要实现功能是将串口发送过来的数据按波形显示 注:本例是以串口调试助手和虚拟串口VSPD软件模拟串口发送数据的,详细说明见下文 说明: serialPort的ReadByte()方法用于从System.IO.Ports.SerialPort输入缓冲区中同步读取一个字节. chart控件的spline为曲线图,以光滑的曲线连接各点. 几个代码块说明: (1) private void SearchAndAddSerialToCombobox(SerialPort Myport,

c# chart控件添加边界值线条以及扩展性功能

最近一致在开发能源平台,平台中很多能耗数据都是通过使用微软的chart控件进行图形呈现的.考虑到要给用户更为直观的呈现效果,需要对原有控件的功能进行扩展.微软chart控件没有第三方样chart样式炫酷,但是胜在可定制性强,中文手册详细,很多效果能够自己写出来. 主要实现功能:1.最大值,最小值,平均值展示   2.鼠标移动到数据点绘制竖线,用tooltip的方式展示数据 最终呈现效果如图: 解决方案: (1)最大值,最小值,平均值呈现 之前在网上找了好久都没有想要的效果,第三方控件往往都能直接

C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# chart控件的一些基本属性,由于属性太多了,一时半会儿写不完,以后继续补充,这里总结重要的常用的属性 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可以看到一个chart可以绘制多个ChartArea,每个ChartArea都可以绘制多条Series