Winform Chart
Chart图表解释说明:


第一步:使用VS创建Winform项目;
第二步:工具箱中拖入Chart控件;
第三步:所有控件拖入其他控件如下图所示:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting; namespace ZB.PISS.StatisticsSys
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
List<int> x = new List<int> { , , , , }; List<int> a = new List<int> { , , , , };
List<int> b = new List<int> { , , , , };
List<int> c = new List<int> { , , , , };
var dd = chartDemo.Series; this.chartDemo.Series["name1"].Points.DataBindXY(x, a);
this.chartDemo.Series["name2"].Points.DataBindXY(x, b);
this.chartDemo.Series["name3"].Points.DataBindXY(x, c);
Winfrom chart DataBindXY X内容显示不全解决方法如下:
chartImage.ChartAreas["ChartArea1"].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None;
chartImage.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 1;
chartImage.ChartAreas["ChartArea1"].AxisX.LabelStyle.IsStaggered = false;
//Chart Title
this.chartDemo.Titles.Add("人员信息统计").Alignment = ContentAlignment.MiddleCenter;
Color[] arr = chartDemo.PaletteCustomColors;
this.cmbPattern.DataSource = PatternList();
this.cmbType.DataSource = SeriesTypeList(); //Axis Title
this.chartDemo.ChartAreas[].AxisX.Title = "月份信息";
this.chartDemo.ChartAreas[].AxisY.Title = "数量信息"; //Lable
// #VALX 显示当前图例的X轴的对应文本(或数据)
//#VAL, #VALY, 显示当前图例的Y轴的对应文本(或数据)
//#VALY2, #VALY3, 显示当前图例的辅助Y轴的对应文本(或数据)
//#SER: 显示当前图例的名称
//#LABEL 显示当前图例的标签文本
//#INDEX 显示当前图例的索引
//#PERCENT 显示当前图例的所占的百分比
//#TOTAL 总数量
//#LEGENDTEXT 图例文本
this.chartDemo.Series[].Label = "#VAL";
this.chartDemo.Series[].Label = "#VAL";
this.chartDemo.Series[].Label = "#VAL"; //Marker
this.chartDemo.Series[].MarkerSize = ;
this.chartDemo.Series[].MarkerSize = ;
this.chartDemo.Series[].MarkerSize = ;
this.chartDemo.Series[].MarkerStyle = MarkerStyle.Circle;
this.chartDemo.Series[].MarkerStyle = MarkerStyle.Square;
this.chartDemo.Series[].MarkerStyle = MarkerStyle.Diamond; } #region ChartType
public List<string> SeriesTypeList()
{
List<string> list = new List<string>();
foreach (string item in Enum.GetNames(typeof(SeriesChartType)))
{
list.Add(item);
}
return list;
} private void cmbType_SelectedValueChanged(object sender, EventArgs e)
{
try
{
SeriesChartType type = (SeriesChartType)Enum.Parse(typeof(SeriesChartType),
this.cmbType.Text); this.chartDemo.Series["name1"].ChartType = type;
this.chartDemo.Series["name2"].ChartType = type;
this.chartDemo.Series["name3"].ChartType = type;
}
catch
{
return;
}
} #endregion #region Pattern
public List<string> PatternList()
{
List<string> list = new List<string>();
foreach (string item in Enum.GetNames(typeof(ChartColorPalette)))
{
list.Add(item);
}
return list;
} private void cmbPattern_SelectedValueChanged(object sender, EventArgs e)
{
ChartColorPalette palette = (ChartColorPalette)Enum.Parse(typeof(ChartColorPalette),
this.cmbPattern.Text);
this.chartDemo.Palette = palette;
} #endregion }
}
运行效果如下:

资源源码下载地址:http://download.csdn.net/my Winfrom Chart
补充:
一:实现3D效果
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (this.comboBox1.Text.Equals("3D"))
{
//this.chartDemo.ChartAreas[0].Area3DStyle.Enable3D = true;
//开启三维模式的原因是为了避免标签重叠
this.chartDemo.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;//开启三维模式;PointDepth:厚度BorderWidth:边框宽
this.chartDemo.ChartAreas["ChartArea1"].Area3DStyle.Rotation = ;//起始角度
this.chartDemo.ChartAreas["ChartArea1"].Area3DStyle.Inclination = ;//倾斜度(0~90)
this.chartDemo.ChartAreas["ChartArea1"].Area3DStyle.LightStyle = LightStyle.Realistic;//表面光泽度
this.chartDemo.ChartAreas["ChartArea1"].AxisX.Interval = ; //决定x轴显示文本的间隔,1为强制每个柱状体都显示,3则间隔3个显示
this.chartDemo.ChartAreas["ChartArea1"].AxisX.LabelStyle.Font = new Font("宋体", , FontStyle.Regular);
this.chartDemo.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;
}
else
{
this.chartDemo.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;
}
}
Winform Chart的更多相关文章
- c# winform Chart Pie 中若X轴数据为字符串时,#VALX取值为0
https://q.cnblogs.com/q/83848/ 在winform程序中用自带的Chart进行画图表时,若画饼图,其中X轴数据为字符串,这时候如果想设置Label值的格式为#VALX:#V ...
- c# Winform Chart入门
额外参考链接:http://www.cnblogs.com/greenerycn/archive/2008/10/27/microsoft-chart.html winform 仪表盘相关下载链接:/ ...
- winform Chart控件 获取鼠标处坐标值方法
Chart控件本身功能强大,应用广泛,因此其属性.方法也很多.此处介绍在很多应用中需要查看鼠标位置处坐标值的一些方法 1,调用Chart事件 GetToolTip 利用ToolTipEventArg ...
- WPF 使用WinForm Chart控件
第一步: 页面 首先引用命名空间 xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFor ...
- 使用WinForm Chart控件 制作饼装,柱状,折线图
http://blog.csdn.net/dream2050csdn/article/details/53510340 chart控件的属性很多,主要用到Chart控件图表区域的属性有五个属性 1.A ...
- 【207】WinForm Chart类
目录: 在工具箱中找到 Chart 控件并使用 设置 Chart 属性 代码中设置属性 属性中设置属性 Chart 类说明 ChartAreas ChartAreaCollection 类 Chart ...
- Winform Chart 控件读取datatable后显示图表
private void Button2_Click(object sender, EventArgs e) { DataTable table = new DataTable(); this.cha ...
- C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)
一.效果与思路 效果: 解决方案1 用chart的mousemove时间,实时跟踪鼠标最近的X轴的位置,然后把cursorX设置到那个位置上,让用户知道我是选的那一个X的值,同时用tooltip显示该 ...
- Winform & Devexpress Chart使用入门
一.Chart(Winform) 使用图表控件(chart)首先要理解图表区域(ChartArea).XY轴(AxisX.AxisY).数据点(Series).标题(Title).图例(Legend) ...
随机推荐
- Nginx 浏览器打开是下载状态
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_inf ...
- Oracle查询行对应block_id,file_id
select id,rowid, dbms_rowid.rowid_object(rowid) object#, dbms_rowid.rowid_relative_fno(rowid) file#, ...
- MySQL最基本的DML语句
一.什么叫DML? DML(Data Manipulation Language):数据操作语言.主要操作数据表中的数据,使用DML可以完成以后三件事: 插入数据 修改数据 查询数据 二.具体的语句操 ...
- 在django中进行MySQL入库
在django中进行mysql 入库 需要导入 : from django.db import models 在添加主键时,需要使用: primary_key=True id = models. ...
- Brute Force Sorting(HDU6215)
题意:给你长度为n的数组,定义已经排列过的串为:相邻两项a[i],a[i+1],满足a[i]<=a[i+1].我们每次对当前数组删除非排序过的串,合并剩下的串,继续删,直到排序完成. 题解:用双 ...
- Tag文件的创建与应用
Tag文件,几乎和JSP文件一模一样,可以被JSP页面动态加载调用.Tag文件有什么优势呢(既然和JSP几乎一模一样,那就得想想这个必然有不一样的地方,不然要它存在干嘛) 在设计Web应用时,可以通过 ...
- Python面试 【315+道题】
Python面试 [315+道题] 第一部分 Python基础篇(80题) 为什么学习Python? 因为看到python的发展趋势,觉得需要与时俱进,第一点,python开发速度极快,能快速完成一个 ...
- MongoDB的真正性能-实战百万用户
阅读目录 一.第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二.第二个问题:FindOne({_id:xxx})就快么? 三.第三个问题:精细的使用U ...
- MySQL--时间戳与时区问题
对于使用 timestamp 的场景,MySQL 在访问 timestamp 字段时会做时区转换,当 time_zone 设置为 system 时,MySQL 访问每一行的 timestamp 字段时 ...
- 验证远程主机SSH指纹
转自:https://marskid.net/2018/02/05/how-to-verify-ssh-public-key-fingerprint/ 使用SSH进行远程连接新的主机的时候,经常会看到 ...