一、Chart(Winform)

使用图表控件(chart)首先要理解图表区域(ChartArea)、XY轴(AxisX、AxisY)、数据点(Series)、标题(Title)、图例(Legend)这几个之间的层次关系。

图1:柱形图

从图1可以中内容,可以对Chart控件的组成有了一个简单的了解。
 
1.图表区域(ChartArea)
从图1中可以看出数据点、XY轴都是属于ChartArea的,这里是主要数据展示的区域。
 
2.XY轴(AxisX、AxisY)
XY轴的作用不用多说,具体的设置可以参考Demo中的代码。
 
3.数据点(Series)
圆饼图、散点图、柱形图等等都是由Series的属性设置的。
 
4.标题(Title)、图例(Legend)
这个作用不多说了,主要是进行一些相关属性的设置。
 
上点代码:

         /// <summary>
/// 饼图
/// </summary>
private void ChartPie()
{
//ChartArea
ChartArea chartArea = new ChartArea()
{
Name = "PieArea",
BorderWidth = ,
BorderDashStyle = ChartDashStyle.NotSet,
};
chartBar.ChartAreas.Clear();
chartBar.ChartAreas.Add(chartArea);
//Series
Series seriesBookA = new Series()
{
ChartArea = "PieArea",
Name = "书籍A销量",
Color = Color.Red,
Legend = "LegendBook",
Tag = "BookASaleCount",
ChartType = SeriesChartType.Pie,
XAxisType = AxisType.Primary,
XValueType = ChartValueType.DateTime,
IsValueShownAsLabel = true,
Label = "#VALY(#PERCENT{P0})",
};
chartBar.Series.Clear();
chartBar.Series.Add(seriesBookA);
//Point
double[] value = { };
DataPoint dataPoint = new DataPoint()
{
Name = "书籍A销售量",
Color = Color.Red,
YValues = value,
LegendText = "书籍A销售量:" + value[],
};
if (chartBar.Series.Count > )
{
chartBar.Series[].Points.Clear();
chartBar.Series[].Points.Add(dataPoint);
value = new double[] { };
chartBar.Series[].Points.Add(new DataPoint()
{
Name = "书籍B销售量",
Color = Color.Blue,
YValues = value,
LegendText = "书籍B销售量:" + value[],
});
value = new double[] { };
chartBar.Series[].Points.Add(new DataPoint()
{
Name = "书籍C销售量",
Color = Color.Pink,
YValues = value,
LegendText = "书籍C销售量:" + value[],
});
}
//Title
Title mainTitle = new Title()
{
Name = "MainTitle",
Text = "书籍销量",
Font = new Font("微软雅黑", , FontStyle.Regular, GraphicsUnit.Pixel),
ForeColor = Color.Blue,
Docking = Docking.Top,
IsDockedInsideChartArea = true,
};
chartBar.Titles.Clear();
chartBar.Titles.Add(mainTitle);
//Legend
Legend legend = new Legend()
{
Name = "LegendBook",
LegendStyle = LegendStyle.Table,
Docking = Docking.Bottom,
};
chartBar.Legends.Clear();
chartBar.Legends.Add(legend);
}

二、ChartControl(Devexpress)

Dev的ChartControl用法和 Winform的类似,但是更为灵活

三、问题及解决方法

1.ChartControl(dev)饼图label重叠问题

以下属性设置可解决此问题

pieSeriesLabel1.Position = DevExpress.XtraCharts.PieSeriesLabelPosition.TwoColumns;
pieSeriesLabel1.ResolveOverlappingMode = DevExpress.XtraCharts.ResolveOverlappingMode.Default;

具体代码可以单击下载。

Winform & Devexpress Chart使用入门的更多相关文章

  1. Winform 控件的入门级使用(一)

    开始总结一下控件的基本用法,方便以后查阅. 一.Label Label 的使用频率很高,基本上也没有什么难度. #region Winform //label label.Text = "这 ...

  2. Winform DevExpress控件库(一) DevExpress控件库的安装与新建第一个DevExpress项目

    前言:因为这段时间要接触到DevExpress控件库,而我本身甚至对winform的控件都了解甚少,所以处在学习中,写下博客主要是为了方便后期的回顾,当然也可以给一些新人第一次接触时做为学习的参考,以 ...

  3. C# winform DevExpress上传图片到数据库【转】

    实现功能如下图: 注明:此文使用的是DevExpress控件,winform 原生控件也是一样使用方法. 1.点击选择图片按钮,功能为通过对话框选择要上传的文件,并将该文件在下面的PictureEdi ...

  4. WinForm DevExpress使用之ChartControl控件绘制图表一——基础

    最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...

  5. Winform中Chart图表的简单使用

    在常见的一些数据采集的系统中, 都少不了一个就是, 数据分析, 无论是报表的形式, 还是图形的形式. 他都是可以迅速的展现一个数据趋势的实现方法, 而今天, 就是简单介绍一下, 微软的工具库自带的 C ...

  6. Winform DevExpress控件库(二) 使用SplashScreenManager控件定制程序加载页面

    SplashScreenManager控件:主要作用是显示在进行耗时操作时的等待界面: 位于 工具箱 -> Navigation & Layout(导航栏与布局类控件) 目录下: 在工具 ...

  7. winform devexpress 用法汇总

    废话不多说先上图 1.封装分页控件 qrcodeOnPage1.SearchData(gridControl2, IDataPage, sWhere, "", "tb_o ...

  8. [转]Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  9. [WinForm]Dundas Chart控件学习(附源码)

    1.Dundas公司简介 加拿大的一家公司,专业做图表展现的,很牛,据说现在被Microsoft收购了.官网地址:http://www.dundas.com/ 2.Chart基本要素 3.最简单的柱状 ...

随机推荐

  1. php多语言切换---转载

    文件内容: /include/language.php <?php $languages = array (); $languages ['zh-cn'] ["name"]  ...

  2. find + xargs + cp 遇到文件名中带空格如何处理

    一,需求为查询文件名为ZRSH开头的时间为7月至今的所有文件并打包 1.首先想到的就是find + xargs + cp  格式.. find 2016073* -type f  -name *ZRS ...

  3. ioutil包二

    ioutil包二 (原创随笔,转载请注明出处 http://www.cnblogs.com/majianguo/p/8016426.html) ioutil包实现了一些I/O实用功能,导出了7个函数和 ...

  4. [LeetCode] 链表反转相关题目

    暂时接触到LeetCode上与链表反转相关的题目一共有3道,在这篇博文里面总结一下.首先要讲一下我一开始思考的误区:链表的反转,不是改变节点的位置,而是改变每一个节点next指针的指向. 下面直接看看 ...

  5. gitlab 接入 openldap、AD

    =============================================== 20171009_第2次修改                       ccb_warlock === ...

  6. 在表格中,th scope="row"和th scope="col"中的scope属性的用法及意义

    把表头和数据联系起来:scope,id,headers属性就我用到现在,很多表格要比上面提供的例子复杂的多.让例子复杂一点,我会移去"Company"表头,并且把第一列的数据移到表 ...

  7. 云计算---openstack镜像制作详解

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  8. Java中静态代码块、构造代码块、构造函数、普通代码块

    在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序. 1.静态代码块 ①.格式 在java类中(方法中不能存在静态代 ...

  9. Python爬虫通过替换http request header来欺骗浏览器实现登录

    以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看. 如果用requests.get()方法获取这个http,没登录只能抓取回 ...

  10. Life in Changsha 第二次scrum冲刺

    第二次冲刺   第二次冲刺任务 设计留言板功能. 用户故事 用户打开“生活在长大”的界面 程序首页展示校园服务,论坛等相关信息 用户选择留言板 程序界面跳转 用户查看留言,并可以输入留言内容 提交后留 ...