一、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. 线上平滑升级nginx1.12

    .下载相关包,需要和之前用到的依赖包保持一致 wget http://nginx.org/download/nginx-1.12.2.tar.gz wget https://bitbucket.org ...

  2. JavaScript及jQuery中的各种宽高属性图解

    文/poetries(简书作者)原文链接:http://www.jianshu.com/p/60332df38393 著作权归作者所有,转载请联系作者获得授权, 并标注“简书作者”.   作者声明:本 ...

  3. 缓存(Cache)

    l如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差.而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能.这样无论有多少人访 ...

  4. CentOS 7.x上gitlab搭建教程(https可用,邮件可用)

    目录 知识要求 搭建感想 搭建过程 参考 知识要求: nginx基础知识 搭建感想 注:以下是我搭建gitlab时的思考,需要nginx的基础知识,Docker的基础知识才容易理解,与下面的搭建过程是 ...

  5. 正确使用volatile场景--状态标志

    同步机制:volatile 特点:可见性:不具备原子性 每个线程有自己单独的内存:如果线程1和线程2公用一个变量name:如果两个线程并发进行,并且需要访问变量name:如果这个变量具有了可见性,线程 ...

  6. Extjs入门-grid

    function rowdblclickFn(grid, rowIndex, e){//双击事件              var row = grid.store.getById(grid.stor ...

  7. 安卓和 java 学习笔记

    1.访问权限为 private 的成员变量或方法,需要执行setAccessible() 方法,并将入口参数设置为 true; 否则不允许访问. 2.为了保证线程的安全,可以使用同步块 synchro ...

  8. Node.js 蚕食计划(二)—— 使用 http 模块搭建 Web 服务器

    Node.js 开发的目的就是为了用 JavaScript 编写 Web 服务器程序 这次就来介绍用 http 模块搭建服务器 一.项目构建 每个 Node 程序都可以看作一个模块,而每个模块都应该有 ...

  9. java基础知识整理

    java基础入门知识(转载请注明出处.) 1.JVM.JRE和JDK的区别. (1)JVM(Java Virtual Machine):java虚拟机,用于保证java跨平台的特性,java语言是跨平 ...

  10. css实现平行四边形、菱形图片效果

    一.平行四边形 1. 使用两个元素实现 html <a class="button"> <div>click me</div> </a&g ...