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提示框以及创建不规则窗体等(文章及相关代码搜集自网络,仅供学习参考,版权属于原作 ...
随机推荐
- sql server代理系列
https://www.cnblogs.com/woodytu/tag/SQL%20Server%E4%BB%A3%E7%90%86/ SQL Server代理(12/12):多服务器管理 Woody ...
- Java io流详解一
原文地址http://www.cnblogs.com/xdp-gacl/p/3634409.html java基础学习总结——流 一.JAVA流式输入/输出原理
- Appium 输入中文
文章出处 http://www.cnblogs.com/ljfight/p/6089163.html 在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏 ...
- http的请求流程
# !/usr/bin/env python # coding:utf-8 import socket def handle_request(client): buf = client.recv(10 ...
- 常用restful路由
tax_categories GET /tax_categories(.:format) tax_categories#index POST /tax_categories(.:format) tax ...
- Mysql数据表字段设置了默认值,插入数据后默认字段的值却为null,不是默认值
我将mysql的数据表的某个字段设置了默认值为1,当向该表插入数据的时候该字段的值不是默认值,而是null. 我的错误原因: 对数据库的操作我使用了持久化工具mybatis,插入数据的时候插入的是整个 ...
- Spring4.2.3+Hibernate4.3.11整合( IntelliJ maven项目)(使用Annotation注解)(Junit测试类)
1. 在IntelliJ中新建maven项目 给出一个建好的示例 2. 在pom.xml中配置依赖 包括: spring-context spring-orm hibernate-core mysql ...
- $ 专治各种python字符编码问题疑难杂症
标准动作 在脚本第一行指定编码格式: # coding:utf-8 将默认的ascii字符流处理方式变为utf-8: import sys sys.getdefaultencoding() 'asci ...
- logback logback.xml 常用配置详解(转)
本文转自:http://my.oschina.net/looly/blog/298675 推荐参考:http://blog.csdn.net/haidage/article/details/67945 ...
- menubar下面的选项不可以输入中文
这是一个QT5的bug. 1.不用中文,使用英文: 2.先输入中文,然后在属性Action里面的text里改成中文.