C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
一.需要实现的目标是:
1.将数据绑定到pie的后台数据中,自动生成饼图。
2.生成的饼图有详细文字的说明。
1.设置chart1的属性Legends中默认的Legend1的Enable为false;
如图1所示:
List<int> yData = new List<int>() { 10, 20, 30, 40 };
chart1.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
chart1.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
chart1.Series[0].Points.DataBindXY(xData, yData);
折线图和柱形图的生成和饼图相同。
二.chart画饼图,折线图,柱形图的扩展。
1.使用chart控件创建,跟上面相同;
2.进行关于柱形图样式的数据数据,
代码展示:
//画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
private void Form2_Load(object sender, EventArgs e)
{
//画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
Series s1 = new Series();
Series s2 = new Series();
Series s3 = new Series();
//随机
Random r = new Random();
for (int i = 1; i < 13; i++)
{
//绑定数据
s1.Points.AddXY(i, r.Next(20, 30));
s2.Points.AddXY(i, r.Next(10, 30));
s3.Points.AddXY(i, r.Next(20, 30));
}
//指定柱形条的颜色
s1.Color = Color.Green;
s2.Color = Color.Red;
s3.Color = Color.Black;
//加入到chart1中
chart1.Series.Add(s1);
chart1.Series.Add(s2);
chart1.Series.Add(s3);
}
3.柱形图效果如图5所示:
图5
4.C# chart绑定数据的几种方式
(1)、数组, List 等简单Collection类型的方式
Series s1= new Series();然后绑定数据就可以了chart1.Series["s1"].Points.DataBindXY(Hdop, Vdop);(2)DataTable方式
Series dataTable3Series = new Series("dataTable3");
dataTable3Series.Points.DataBind(dataTable3.AsEnumerable(), "日期", "日发展", "");
dataTable3Series.XValueType = ChartValueType.DateTime;//设置X轴类型为时间dataTable3Series.ChartType = SeriesChartType.Line; //设置Y轴为折线chart1.Series.Add(dataTable3Series);//加入你的chart1三.chart控件画图的一些关键点
1.如何将折线图的各个数据点凸显出来
代码如下:
private void Form3_Load(object sender, EventArgs e)
{
List<string> xData = new List<string>() { "A", "B", "C", "D" };
List<int> yData = new List<int>() { 10, 20, 30, 40 };
//线条颜色
chart1.Series[0].Color = Color.Green;
//线条粗细
chart1.Series[0].BorderWidth = 3;
//标记点边框颜色
chart1.Series[0].MarkerBorderColor = Color.Black;
//标记点边框大小
chart1.Series[0].MarkerBorderWidth = 3;
//标记点中心颜色
chart1.Series[0].MarkerColor = Color.Red;
//标记点大小
chart1.Series[0].MarkerSize = 8;
//标记点类型
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
//将文字移到外侧
chart1.Series[0]["PieLabelStyle"] = "Outside";
//绘制黑色的连线
chart1.Series[0]["PieLineColor"] = "Black";
chart1.Series[0].Points.DataBindXY(xData, yData);
}
效果图如图6所示:
图6
2. 如何去掉柱形图纵向线条
代码如下:
private void Form2_Load(object sender, EventArgs e)
{
//画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
Series s1 = new Series();
Series s2 = new Series();
Series s3 = new Series();
Random r = new Random();
for (int i = 1; i < 13; i++)
{
//绑定数据
s1.Points.AddXY(i, r.Next(20, 30));
s2.Points.AddXY(i, r.Next(10, 30));
s3.Points.AddXY(i, r.Next(20, 30));
}
//指定柱形条的颜色
s1.Color = Color.Green;
s2.Color = Color.Red;
s3.Color = Color.Black;
//加入到chart1中
//X轴上网格
chart1.ChartAreas[0].Axes[0].MajorGrid.Enabled = false;
//y轴上网格
//ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;
chart1.Series.Add(s1);
chart1.Series.Add(s2);
chart1.Series.Add(s3);
}
效果如图7所示:
图7
3. 如何使用chart控件画圆环图
操作与饼形图,折线图等相似,只是需要将chartType设置为Doughnut;
如图8所示:
图8
在这里可以设置关于圆环的内外百分比,如图9所示:
图9
效果图如图10所示:
图10
注意:代码设置圆环大小代码如下:
//DoughnutRadius用来设置用作圆环图大小的半径百分比
chart1.Series["data"].CustomProperties = "DoughnutRadius = 20"
C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展的更多相关文章
- C# WinForm开发系列 - WebBrowser
原文:C# WinForm开发系列 - WebBrowser 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集 ...
- C# WinForm开发系列 - ListBox/ListView/Panel
转自会飞的小猪文章 C# WinForm开发系列 - ListBox/ListView/Panel 在博客园看到了一篇博文,觉得很不错,就转载过来了. 包含自定义绘制的ListBox, 带拖动, ...
- C# WinForm开发系列 - ZedGraph
ZedGraph是用于创建任意数据的二维线型.条型.饼型图表的一个类库,也可以作为Windows窗体用户控件和Asp.Net网页控件.这个类库具有高度的适应性,几乎所有式样的图表都能够被创建.这个类库 ...
- C# WinForm开发系列 - 文章索引
该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...
- C# WinForm开发系列 - GDI+【转】
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI ...
- Windows高DPI系列控件(一) - 饼图
目录 一.醉一醉 二.效果展示 三.高DPI适配 1.高DPI框架运作 2.适配高DPI 3.适配饼图 四.相关文章 原文链接:Windos高DPI系列控件(一) - 饼图 一.醉一醉 眨眼功夫,20 ...
- 【VS开发】单文档中往视图中加入控件
[VS开发]单文档中往视图中加入控件 标签(空格分隔): [VS开发] 分隔视图的但文档窗口,要显示控件,推荐使用CFormView或者CCtrlView,前者和对话框的做法一致. 在MainFram ...
- C# WinForm开发系列 - DataGrid/DataGridView
在WinForm开发中,DataGrid/DataGridView被广泛使用于绑定数据库中数据进行呈现.整理一些关于DataGrid/DataGridView使用的文章,涉及DataGrid/Data ...
- C# WinForm开发系列 - Form/Window
Form是WinForm开发中非常重要的一个控件, 本文将包含如何制作一个关于对话框,系统载入提示窗体, 创建类似于QQ提示框以及创建不规则窗体等(文章及相关代码搜集自网络,仅供学习参考,版权属于原作 ...
随机推荐
- 内置模块(time、random、hashlib、os)
简介: 模块:本质上就是一个.py文件,使用其中的函数. 模块分为:内置函数.第三方模块.自定义模块. 今天学习的就是Python的内置函数. 回到顶部 一.time模块 1.时间的表示形式 在Pyt ...
- 【人员招聘】岗位职责和技能要求——By Me
- Android图片加载框架Picasso最全使用教程2
前言 前面我们已经介绍了Picasso的基本用法及如何将一张图片加载到ImageView中,下面我们就利用Picasso在ListView中加载图片;Let’s Go! 一个ListView的简单应用 ...
- Config Static IP Address manually in Ubuntu
The process of the configuration of static IP address in Ubuntu is as follows: ``` $ sudo vim /etc/n ...
- day11 函数和命名空间
# def my_sum(*args):# sum_2=0# for i in args:# sum_2+=i# return sum_2### ret=my_sum(1,2,3,4)# print( ...
- 数据库权限分配(远程共享数据库)(mysql)
1. 数据库远程权限 mysql -uroot -proot grant all privileges on formal.* to root@'192.168.3.40' identified by ...
- NHibernate之配置文件属性说明
一.NHibernate配置所支持的属性 属性名 用途 dialect 设置NHibernate的Dialect类名 - 允许NHibernate针对特定的关系数据库生成优化的SQL 可用值: ful ...
- org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类
<bean id="investorQueryConfigurer" class="org.springframework.beans.factory.config ...
- Spring 之定义切面尝试(基于 XML)
有些场景下只能基于 XML 来定义切面. [Spring 之定义切面尝试] 1.XML 下定义切面(首先是要有一个对应的类...显然要比基于注解的麻烦) <?xml version=" ...
- python——动态类型简介
动态类型简介 类型属于对象,而不是变量 每一个对象都有两个标准的头部信息:类型标志符和引用计数器. 对象的垃圾收集,就是通过引用计数器实现的.可以在脚本中任意使用对象而不需要考虑释放内存空间. 循环饮 ...