chartcontrol的用法总结
2015-06-06 09:51
363 查看
用chartcontrol用了一个星期,想把这个星期的劳动成果记录一下:
chartcontrol是devexpress控件库中很好用的一个图表显示控件,功能很强大。我下面从简单的介绍起:
1.显示二维表
二维表的意思是只有两列,这是最方便的。而且我们以柱状图为例:
chartControl1.Series.Clear(); //清除系列
Series serPici = new Series(" 表明", ViewType.Bar); //新建系列
serPici.DataSource = data; //绑定数据源
serPici.ArgumentDataMember = "检查类型"; //指定X轴绑定列
serPici.ArgumentScaleType = ScaleType.Qualitative; //指定X轴坐标以定性方式表示
serPici.ValueDataMembers.AddRange(new string[] { "数量" }); //指定Y轴绑定列
serPici.ValueScaleType = ScaleType.Numerical; //指定Y轴以数字方式标记
//serPici.LegendText = "批次量";
chartControl1.Series.Add(serPici); //添加系列
//设置X轴和Y轴,可以不设置
((XYDiagram)chartControl1.Diagram).AxisY.Title.Font = new Font("Tahoma", 10);
((XYDiagram)chartControl1.Diagram).AxisY.Title.TextColor = System.Drawing.Color.Red;
((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = "数量";
//((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;
((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;
((XYDiagram)chartControl1.Diagram).AxisX.Title.Text = "检查类型";
((XYDiagram)chartControl1.Diagram).AxisX.Title.Visible = true;
//设置图例的位置
chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.Top;
2.显示三维表
如果你的数据表含有三列,这时你就需要采用下面的方法了。
这里要特别提醒的是:如果在代码中存在数据源绑定变换,最好加上
chartControl1.BeginInit();
chartControl1.EndInit();
这样确保数据源切换能够被chartcontrol识别并及时显示。
3.四维表
四维表也是可以显示的。这时可能把表格的类型设置为stackedbar。
这个可以使用sidebysidebar,比如说四列为:报告医师、检查类型、报告质量、数量。则可根据报告质量和检查类型进行循环,将两列合为一列作为series的name即可。
总结下:对于devexpress的控件,我也才开始了解。它有个专门的论坛上有中文文档,需要静下心来去研究。而且它的国外官网有support页面,中午至晚上都可以留言,回复还挺快的。关于chartcontrol,虽然我写了这么多,但还只是皮毛。如多坐标轴的设置,pane的设置等等。我研究出成果再和大家分享。
chartcontrol是devexpress控件库中很好用的一个图表显示控件,功能很强大。我下面从简单的介绍起:
1.显示二维表
二维表的意思是只有两列,这是最方便的。而且我们以柱状图为例:
chartControl1.Series.Clear(); //清除系列
Series serPici = new Series(" 表明", ViewType.Bar); //新建系列
serPici.DataSource = data; //绑定数据源
serPici.ArgumentDataMember = "检查类型"; //指定X轴绑定列
serPici.ArgumentScaleType = ScaleType.Qualitative; //指定X轴坐标以定性方式表示
serPici.ValueDataMembers.AddRange(new string[] { "数量" }); //指定Y轴绑定列
serPici.ValueScaleType = ScaleType.Numerical; //指定Y轴以数字方式标记
//serPici.LegendText = "批次量";
chartControl1.Series.Add(serPici); //添加系列
//设置X轴和Y轴,可以不设置
((XYDiagram)chartControl1.Diagram).AxisY.Title.Font = new Font("Tahoma", 10);
((XYDiagram)chartControl1.Diagram).AxisY.Title.TextColor = System.Drawing.Color.Red;
((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = "数量";
//((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;
((XYDiagram)chartControl1.Diagram).AxisY.Title.Visible = true;
((XYDiagram)chartControl1.Diagram).AxisX.Title.Text = "检查类型";
((XYDiagram)chartControl1.Diagram).AxisX.Title.Visible = true;
//设置图例的位置
chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.Top;
2.显示三维表
如果你的数据表含有三列,这时你就需要采用下面的方法了。
chartControl1.Series.Clear(); //Series serPici = new Series("Bar", ViewType.Bar); //serPici.DataSource = data; chartControl1.DataSource = data; chartControl1.SeriesDataMember = "检查类型"; chartControl1.SeriesTemplate.ArgumentDataMember = "报告医师"; chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[1]{"数量"});这时你也可以如上设置X轴和Y轴的标题,显示内容等。但是注意这个模板不能用于二维表的显示,比如你可能想要把检查类型那行去除显示二维表,试验结果证明,这时行不通的。
这里要特别提醒的是:如果在代码中存在数据源绑定变换,最好加上
chartControl1.BeginInit();
chartControl1.EndInit();
这样确保数据源切换能够被chartcontrol识别并及时显示。
3.四维表
四维表也是可以显示的。这时可能把表格的类型设置为stackedbar。
这个可以使用sidebysidebar,比如说四列为:报告医师、检查类型、报告质量、数量。则可根据报告质量和检查类型进行循环,将两列合为一列作为series的name即可。
总结下:对于devexpress的控件,我也才开始了解。它有个专门的论坛上有中文文档,需要静下心来去研究。而且它的国外官网有support页面,中午至晚上都可以留言,回复还挺快的。关于chartcontrol,虽然我写了这么多,但还只是皮毛。如多坐标轴的设置,pane的设置等等。我研究出成果再和大家分享。
相关文章推荐
- 计算球面上经纬度坐标方法比较
- 在Centos上编译安装nginx
- 运维平台规划体系全介绍
- 捋清ADC的误区
- 站长实用必备网站
- Android百度地图(地位和POI附近搜索)-仿微信、QQ地理位置的分享
- stringstream的基本用法
- 《3》CentOS7.0+OpenStack+kvm云平台部署—配置Glance
- Python使用mechanize模拟浏览器
- chrome使用技巧(转)
- SEO人士一定要了解的搜索引擎惩罚原则
- Apache内容生成器 (1)
- intent 显式意图和隐式意图之Activity的激活方式
- 三国告诉我们
- Android中3种图片压缩处理方法
- 《2》CentOS7.0+OpenStack+kvm云平台部署—配置Keystone
- java.util.Random 类的 nextInt(int num )
- oracle看日志的几个路径
- Duilib教程-控件练习
- 图像离散余弦变换