1、ChartControl

绘制曲线图,横坐标表示距离起点距离,纵坐标表示高程,均为double类型值,定义一个数据源的类。

 /// <summary>/// 画图控件数据源/// </summary>public class ChartDatasource{/// <summary>/// 当前位置高度/// </summary>public double Altitude { get; set; }/// <summary>/// 距起点距离/// </summary>public double Length { get; set; }/// <summary>/// 坡度/// </summary>public double Slope { get; set; }}

绑定字段

            this.chartControl_Alt.Series[0].ArgumentDataMember = "Length";this.chartControl_Alt.Series[0].ValueDataMembers[0] = "Altitude";this.chartControl_Slope.Series[0].ArgumentDataMember = "Length";this.chartControl_Slope.Series[0].ValueDataMembers[0] = "Slope";

构造一<List>,存储坐标点对,赋值即可,作为数据源。

              var sourcelist=new List<ChartDatasource>();sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});sourcelist.Add(new ChartDatasource{Altitude=33,Length=0,Slope=4});.....................chartControl_Alt.DataSource = sourcelist;chartControl_Slope.DataSource = sourcelist;

显示效果如下图所示,一个数据类,存有三个字段,但绑定的字段不同,显示不同的结果,作为多个图表的数据源。

2、一个图上多条曲线

数据源类

/// <summary>/// 画图控件数据源/// </summary>public class RChartDataSource{/// <summary>/// 点号/// </summary>public string ID{ get; set; }/// <summary>/// 源高程值/// </summary>public double HeightY{ get; set; }/// <summary>/// 对比高程值/// </summary>public double HeightD{get;set;}}

之前横坐标为double类型,则控件自动按值大小显示在图表上,这里也可以用string类型为横坐标,设为ID,依此保存为1,2,3,4....

字段绑定

            this.chartControl1.Series[0].ValueDataMembers[0] = "HeightY";this.chartControl1.Series[0].ArgumentDataMember = "ID";this.chartControl1.Series[1].ValueDataMembers[0] = "HeightD";this.chartControl1.Series[1].ArgumentDataMember = "ID";

这里,横坐标均绑定为一个字段ID,纵坐标为各自的值。

            var sourcelist=new List<RChartDataSource>();sourcelist.Add(new RChartDataSource{ID=1,HeightY=35,HeightD=36});sourcelist.Add(new RChartDataSource{ID=2,HeightY=35,HeightD=36});sourcelist.Add(new RChartDataSource{ID=3,HeightY=35,HeightD=36});sourcelist.Add(new RChartDataSource{ID=4,HeightY=35,HeightD=36});sourcelist.Add(new RChartDataSource{ID=5,HeightY=35,HeightD=36});.....................chartControl1.DataSource = sourcelist;

显示结果如下所示:

若数据源列表发生变化,则可以重新赋值

sourcelist.Add(new (new RChartDataSource{ID=,HeightY=,HeightD=});
chartcontrol.DataSource=null;
chartcontrol.DataSource=sourcelist;

3、其他

a、我们在图表上移动或点击时,需要获得当前鼠标位置所对应的横纵坐标值,可以通过以下方式获得

为ChartControl添加CustomDrawCrosshair事件,事件代码如下

        double Heng = 0;double Zong = 0;private void chartControl_Alt_CustomDrawCrosshair(object sender, CustomDrawCrosshairEventArgs e){if (chartControl_Alt.DataSource != null&&IsClick){var element = e.CrosshairElements;if (element.Count() > 0)Heng = element.ElementAt(0).SeriesPoint.NumericalArgument;Zong = element.ElementAt(0).SeriesPoint.Values[0];}}

CrosshairElements还有很多其他属性,可进一步研究,可打断点查看相应属性。这里提供一种并不完善的方式,需要进一步完善。

b、设置ConstanLine线位置

 var axis = chartControl_Alt.Diagram as DevExpress.XtraCharts.XYDiagram;axis.AxisX.ConstantLines[0].AxisValue = Heng;axis.AxisX.ConstantLines[0.Visible = trueaxis.AxisX.ConstantLines[1].AxisValue = 160;axis.AxisX.ConstantLines[1.Visible = true;

 //这里的两条线都是垂直于x轴的线,先可以通过代码添加,也可以提前在Run Designer里面添加好初始设置为不可见。

Run Designer里面有很多属性可进行设置,对控件显示效果和显示功能进行设置。

转载于:https://www.cnblogs.com/zwcoding/p/9269865.html

Dev ChartControl相关推荐

  1. dev chartcontrol获取x y轴的值_2020年深圳蛇口x情怀当铺展览详情(时间+地点+门票)...

    "connext:蛇口x情怀当铺"将于汇港购物中心(二期)B1层 蛇口味道主题街区持续展出至,以"记忆"为主题,汇聚了40+名跨界艺术家,100+件旧物,呈现各 ...

  2. dev chartcontrol获取x y轴的值_终于,奔驰强势接手了腾势X

    在广州车展上第一眼看到腾势X,就能够深刻感受到这次奔驰终于忍不了了,从每一针线怎么缝开始,对腾势进行了强势接手.现在这台车的几乎所有设计工作都是由奔驰方完成的,他们也在车侧贴上了Styled by M ...

  3. vb.net 基于excel数据生成图表

    用vb.net直接将excel内容读取至datatable中,并基于dev chartcontrol控件生成折线图程序示例 Imports System.Windows.Forms.DataVisua ...

  4. WPF DEV dxc:ChartControl 柱状图

    先上效果图: <UserControl xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"mc: ...

  5. Dev中的ChartControl的Y轴显示单位

    1.点击Y轴,打开属性 2.找到Title属性,设置其中的 Alignment(单位文本显示的位置) Font(文本字体大小) Text(文本内容) TextColor(文本颜色) Visibilit ...

  6. Dev中ChartControl添加限定线

    1.单击Y轴,设置属性 2.点击ConstantLines属性,打开"Constant Line Collection Editor"界面 3.点击Add添加线条 4.通过设置Ap ...

  7. dev c++ 调试时候发生软件崩溃解决办法

    dev c++ 调试时候发生软件崩溃解决办法 安装好dev cpp,准备调试的时候发现软件崩溃,这种情况很好解决.只要在工具菜单中点开编译选项,找到代码生成/优化一栏,将链接器的"产生调试信 ...

  8. npm run dev 报错:missing script:dev

    错误描述 运行 npm run dev 报错 missing script:dev 原因 查看package.json发现script中并没有dev而是serve.. 所以运行 npm run ser ...

  9. Ubuntu 系统开机黑屏提示the root filesystem on /dev/sdb2 requires a manual fsck

    Ubuntu系统开机的时候黑屏了提示如下 处理方法: 输入: fsck /dev/sdb2  然后回车,(如果你的提示是sdb1 这里输入的sdb1) 然后就是很多提示是否yes 的,  yes 回车 ...

  10. shell /dev/null

    /dev/null表示空设备,这里就是把日志记录到空设备里,就是不记录日志,Null 是一特殊指标值(或是一种物件参照 reference)表示这个指标并不指向任何的物件. 是一个特殊的文件,写入到它 ...

最新文章

  1. 操作系统学习笔记 第五章:文件管理(王道考研)
  2. #每天一种设计模式# 观察者模式
  3. 使用脚本恢复Windows XP系统的用户密码
  4. 在寻找SD-WAN供应商之前,你应该考虑啥呢?
  5. 【错误记录】Android Studio 配置 GitHub 报错 ( Can‘t login using given credentials: Request response: 401 Una )
  6. 深度学习核心技术精讲100篇(五十六)- 自动驾驶感知技术的实践与探索
  7. [云炬创业管理笔记]第四章把握创业机会测试5
  8. 270亿参数、刷榜CLUE,阿里达摩院发布最大中文预训练语言模型PLUG
  9. ByteBuffer源码分析
  10. 服务网格:Istio和AWS App Mesh
  11. #error This file requires compiler and library support for the ISO C++ 2011 standard
  12. C++基础09-货物售卖和MyArray实现
  13. 飞鸽传书:服务器开发系列—系统构架
  14. mysql5.7 on windows
  15. 【BZOJ1412】【codevs2351】狼和羊的故事,最小割
  16. 1047: 对数表 ZZULIOJ
  17. SolidWorks转3DMAX再到Unity3D的转换模型及单位设置
  18. 微信商户中查看 appid
  19. 计算机组成原理cu_计算机组成原理19----控制单元CU设计
  20. 《面向对话的融入交互信息的实体关系抽取》--中文信息学报

热门文章

  1. 如何直观理解粒子滤波并进行Python编程实践
  2. js遍历对象去除空格
  3. Android 手机抓包工具 Packet Capture
  4. win10添加开机启动项_Windows系统注册表添加开机启动项
  5. steam常用计算机,絮絮叨叨的繁星 篇二:新电脑必备——常用验机和跑分软件汇总...
  6. .vbb文件转换为.txt文件
  7. 北京数学建模与计算机应用2018,2018年第八届MathorCup高校数学建模挑战赛
  8. java编程思想.pdf,阿里开发手册.pdf,MySQL是怎样运行的_掘金小册_.pdf
  9. 几款免费好用的OCR工具
  10. 机器学习数学基础之高数篇——函数极限和导数(python版)