使用WinForm Chart控件 制作饼装,柱状,折线图
http://blog.csdn.net/dream2050csdn/article/details/53510340
chart控件的属性很多,主要用到Chart控件图表区域的属性有五个属性
1.Annotations :批注集合(我没怎么用到,但是配置的话会在图标区域出现一些可以备注的东西吧)
2.ChartAreas: 图表区属性;主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等
3.Lengends: 图表图例集合 主要设置图表边说明的一些东西,这次项目没什么用到,但是觉得这个基本没啥用,有什么说明一般都另外添加的,用不到自带的属性
4.Series :图表序列属性,chart设置中基本大多数的设置都在这里了,用来设置数据的一下外观,数据类型(饼图,折线图,树状图等等)
5.Title: 图表标题集合,用来设置图表的标题
使用之前要引用这个
using System.Windows.Forms.DataVisualization.Charting;
//这是添加的两组数据
List<int> txData2 = new List<int>() { 2011, 2012, 2013, 2014, 2015, 2016 };
List<int> tyData2 = new List<int>() { 9, 6, 7, 4, 5, 4 };
List<int> txData3 = new List<int>() { 2012 };
List<int> tyData3 = new List<int>() { 7 };
Chart ct= new Chart();
//若为new一个Chart,需同时Add其Title,Series,ChartAreas等属性
//若是直接拖入控件则只需在控件属性中自己调整就好
//标题
ct.Titles.Add("我的历年合同均价(元/兆千瓦时)");
//背景
ct.ChartAreas.Add(new ChartArea() { Name = "ca1" }); //背景框
ct.ChartAreas[0].Axes[0].MajorGrid.Enabled =false; //X轴上网格
ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false; //y轴上网格
ct.ChartAreas[0].Axes[0].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //网格类型 短横线
ct.ChartAreas[0].Axes[0].MajorGrid.LineColor = Color.Gray;
ct.ChartAreas[0].Axes[0].MajorTickMark.Enabled =false; // x轴上突出的小点
ct.ChartAreas[0].Axes[1].MajorTickMark.Enabled = false; //
ct.ChartAreas[0].Axes[1].IsInterlaced = true; //显示交错带
ct.ChartAreas[0].Axes[0].LabelStyle.Format = "#年"; //设置X轴显示样式
ct.ChartAreas[0].Axes[1].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //网格类型 短横线
ct.ChartAreas[0].Axes[1].MajorGrid.LineColor = Color.Gray;
ct.ChartAreas[0].Axes[1].MajorGrid.LineWidth = 3;
//图表数据区,有多个重叠则循环添加
ct.Series.Add(new Series()); //添加一个图表序列
// ct.Series[0].XValueType = ChartValueType.String; //设置X轴上的值类型
ct.Series[0].Label = "#VAL"; //设置显示X Y的值
ct.Series[0].ToolTip = "#VALX年\r#VAL"; //鼠标移动到对应点显示数值
ct.Series[0].ChartArea = "ca1"; //设置图表背景框
ct.Series[0].ChartType = SeriesChartType.Line; //图类型(折线)
ct.Series[0].Points.DataBindXY(txData2, tyData2); //添加数据
//折线段配置
ct.Series[0].Color = Color.Red; //线条颜色
ct.Series[0].BorderWidth = 3; //线条粗细
ct.Series[0].MarkerBorderColor =Color.Red ; //标记点边框颜色
ct.Series[0].MarkerBorderWidth=3; //标记点边框大小
ct.Series[0].MarkerColor =Color.Red ; //标记点中心颜色
ct.Series[0].MarkerSize = 5; //标记点大小
ct.Series[0].MarkerStyle=MarkerStyle.Circle; //标记点类型
ct.Series.Add(new Series()); //添加一个图表序列
ct.Series[1].Label = "#VAL"; //设置显示X Y的值
ct.Series[1].ToolTip = "#VALX年\r#VAL"; //鼠标移动到对应点显示数值
ct.Series[1].ChartType = SeriesChartType.Line; //图类型(折线)
ct.Series[1].Points.DataBindXY(txData3, tyData3); //添加数据
//折线段配置
ct.Series[1].Color = Color.Black; //线条颜色
ct.Series[1].BorderWidth = 3; //线条粗细
ct.Series[1].MarkerBorderColor = Color.Black; //标记点边框颜色
ct.Series[1].MarkerBorderWidth = 3; //标记点边框大小
ct.Series[1].MarkerColor = Color.Black; //标记点中心颜色
ct.Series[1].MarkerSize = 5; //标记点大小
ct.Series[1].MarkerStyle = MarkerStyle.Circle; //标记点类型
//另外
//饼图说明设置,这用来设置饼图每一块的信息显示在什么地方
ct.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
ct.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
//柱状图其他设置
ct.Series[0]["DrawingStyle"] = "Emboss"; //设置柱状平面形状
ct.Series[0]["PointWidth"] = "0.5"; //设置柱状大小
示例图
运行示例,我用的是折线图
其中绑定数据源,得到折线图的方法有两种。
1、读取数据库,得到数据集,绑定对应列得到折线图:
DataSet ds = 读取数据库;
DataView dv=new DataView(ds.Tables[0]);
this.chart1.Series[0].ChartType=SeriesChartType.Line;
this.chart1.Series[0].Points.DataBindXY(dv, "时间列列名",dv, "温度列列名"); 2、读取数据库,得到数据列表,绑定列表得到折线图:
List<DateTime> x = 读取数据库得到时间列表;
List<double> y = 读取数据库得到温度列表;
this.chart1.Series[0].ChartType=SeriesChartType.Line;
this.chart1.Series[0].Points.DataBindXY(x,y);
使用WinForm Chart控件 制作饼装,柱状,折线图的更多相关文章
- winform Chart控件 获取鼠标处坐标值方法
Chart控件本身功能强大,应用广泛,因此其属性.方法也很多.此处介绍在很多应用中需要查看鼠标位置处坐标值的一些方法 1,调用Chart事件 GetToolTip 利用ToolTipEventArg ...
- [原创]WinForm分页控件制作
先简单说一下思路: 1.做一个分页控件的导航类,即记录总页数.当前页.每页记录数,下一页.上一页.跳转等操作的页数变更. class PageNavigation{/// <summary> ...
- DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)
最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...
- VS2010 使用TeeChart画图控件 - 之二 - 绘制图形(折线图,柱状图)
1.前期准备 详细可见VS2010 使用TeeChart画图控件 - 之中的一个 控件和类的导入 1. 1 加入TeeChart控件,给控件加入变量m_TeeChart 加入TeeChart控件,右击 ...
- VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)
1.前期准备 具体可见VS2010 使用TeeChart绘图控件 - 之一 控件和类的导入 1. 1 添加TeeChart控件,给控件添加变量m_TeeChart 添加TeeChart控件,右击控件, ...
- WPF 使用WinForm Chart控件
第一步: 页面 首先引用命名空间 xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFor ...
- Winform Chart 控件读取datatable后显示图表
private void Button2_Click(object sender, EventArgs e) { DataTable table = new DataTable(); this.cha ...
- chart控件怎么使x轴标签全部显示出来
在vs2012中使用chart控件事,x轴的标签过多,致使默认只能显示其中的一部分,如图 当然,我们可以通过设置,使得x轴标签全部显示. 首先,通过chart控件属性,找到 “ChartAreas ...
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...
随机推荐
- Netty派生缓冲区
参考https://blog.csdn.net/wangjinnan16/article/details/77972113 派生缓冲区 派生缓冲区,也就是创建一个已经存在的缓冲区的视图,可以调用dup ...
- 记一次阿里云服务器被用作DDOS攻击肉鸡
事件描述:阿里云报警 ——检测该异常事件意味着您服务器上开启了"Chargen/DNS/NTP/SNMP/SSDP"这些UDP端口服务,黑客通过向该ECS发送伪造源IP和源端口的恶 ...
- CSS3圆角详解(border-radius)
1.CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点: 减少维护的工作量.图片文件的生成.更新.编写 ...
- 阿里p3c(代码规范,eclipse插件、模版,idea插件)
阿里p3c 一.说明 代码规范检查插件p3c,是根据<阿里巴巴Java开发手册>转化而成的自动化插件. (高级黑:P-3C“Orion”,反潜巡逻机,阿里大概取p3c先进,监测,发现潜在问 ...
- HTML5 & tel & make a phone call
HTML5 & tel & make a phone call 咋呼叫呀,网页怎么打电话? { key: "exploreCorpPhone", title: &q ...
- Python——Entry、Text控件
background(bg) : 文本框背景色: foreground(fg) : 前景色: selectbackground : 选定文本背景色: selectforegroun ...
- @Html自定义属性
@Html.DropDownList("CardCode", (SelectList)ViewData["cardcodeselectlist"], " ...
- Ubuntu 16.04配置Java Web开发环境
说明:在Linux下无论是开发还是服务器配置,我个人建议都安装二进制包版本的,优点:配置清晰,容易发现问题,性能调优方便等.缺点:配置太复杂.而其余平台的建议是一键安装版本,毕竟都是用于测试的,不会实 ...
- Gedit浏览器常用快捷键备注
此处只记录常用的,而通常意义上的应知应会不做汇总 搜索 : Ctrl +F : 查找字符串 Ctrl + G : 查找字符串的下一实例 Ctrl + Shift + G : 查找字符串的前一实例 Ct ...
- python模块psutil的使用
介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统 ...