之前的事例中,生成图表都是单一的对Y轴进行赋值,或者X轴与Y轴分开赋值的方法实现。
如果想两个XY组成的列表集,进行赋值,或者同时对X轴Y轴进行赋值来更新曲线,这里分享一种方法。

借助live charts的Mappers来实现数据映射。

1、定义一个类

        public class MeasureModel{public DateTime DateTime{get; set;}public double Value{get; set;}}

里面有一个时间值和一个数值,用来给XY轴进行赋值。

2、创建数据映射

            var mapper = Mappers.Xy<MeasureModel>().X(model => model.DateTime)   //用 DateTime 做 X.Y(model => model.Value);   //用  value  做 Y//固定写法,声明绑定.Charting.For<MeasureModel>(mapper);//实例化与图表绑定的数据集合ChartValues = new ChartValues<MeasureModel>();

3、赋值数据生成曲线

                ChartValues.Add(new MeasureModel{DateTime = datetime.now,Value = ValueFrom});

对数据集合进行数据增加,实时显示图像。

4、区间显示


如果需要像上图所示显示固定区间内的图像,需要在新增数据的同时,将之前的移除,移除时注意对数组的大小进行判定。下面的代码表示,当数组的数据超过150时,才同时进行数据数据的增加与移除。

 if (ChartValues.Count > 150)ChartValues.RemoveAt(0);

5、前端

本事例的前端实现

    <lvc:CartesianChart  AnimationsSpeed="0:0:0.5"Hoverable="False"DataTooltip="{x:Null}"><lvc:CartesianChart.Series><lvc:LineSeries Values="{Binding ChartValues}"PointGeometry="{x:Null}"LineSmoothness="1"StrokeThickness="6"Stroke="#F34336"Fill="Transparent" /></lvc:CartesianChart.Series></lvc:CartesianChart>

注意

因数据是后台实时更新,所以需要用到线程的相关知识。
以及在线程中访问UI资源的注意事项,本事例用到了Task.Factory.StartNew(GetValue);,其中GetValue是一个方法,在这个方法中有一个循环,在循环里使用了第3步中的赋值操作,来更新曲线。

WPF编程,Live Charts使用说明(51)——X轴Y轴同时赋值的一种方法相关推荐

  1. d3.js多个x轴y轴canvas柱状图

    d3.js多个x轴y轴canvas柱状图 最终效果图镇楼: 本文通过三个步骤来介绍d3.js. 1.简单的柱状图: 2.多个x轴的柱状图: 3.多个x轴.y轴的柱状图: 学习心得: d3.js入门相对 ...

  2. matplotlib 笔记:设置x轴 y轴文字

    原本的图: import numpy as np import matplotlib.pyplot as plt lst=range(10000) a=np.random.choice(lst,150 ...

  3. opencv cv2.flip()函数(图像翻转、镜像、颠倒)(沿x轴翻转0、沿y轴翻转【正值】、同时沿x轴y轴翻转-【负值】)

    def flip(src, flipCode, dst=None): # real signature unknown; restored from __doc__""" ...

  4. echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向

    echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向 option1: {color: ['#21E9F6', '#F2CE2E', '#EE2929', '#006DD9', '#1789FF ...

  5. Echarts去除x轴,y轴网格线,网格区域(背景)

    每次写到Echarts时,总会忘记去除x轴,y轴网格线,网格区域(背景)是怎么设置的了,在这里记录一下,有个印象 xAxis : [{type : 'value',splitNumber: 2,sca ...

  6. 输出一个平面点关于X轴Y轴以及原点的对称点

    /* * 程序的版权和版本声明部分: * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李新鹏 ...

  7. Android X轴Y轴Z轴旋转

    Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,一个简单的办法就是重写Animation.这里只是以Y轴旋转进行下说明,至于X轴.Z轴和Y轴的原理是一样的. ...

  8. 三菱FX5U,机床X轴Y轴工作台定位控制程序 全部使用两轴直线插补 有自动定位,手动定位!手动控制有,点动一次按钮每次走设置的距离

    三菱FX5U,机床X轴Y轴工作台定位控制程序!使用三菱J4-A系列伺服驱动器绝对位置系统,程序大小27000多步 1.本程序最多可做20个定位工序,全部使用两轴直线插补! 2.有自动定位,手动定位!手 ...

  9. 西门子S7-1200PLC结构化编程5轴伺服项目 三轴机械手X轴-Y轴-Z轴联动取放料PTO脉冲定位控制台达B2伺服

    西门子S7-1200PLC结构化编程5轴伺服项目 项目实现功能: 1.三轴机械手X轴-Y轴-Z轴联动取放料PTO脉冲定位控制台达B2伺服 2.台达伺服速度模式应用+扭矩模式应用实现收放卷 3.程序为结 ...

  10. vue中使用锚点x轴y轴

    vue中使用锚点(x轴y轴) 需求1:点击左侧导航栏,页面需要滚动到对应的标题.(y轴) 第一步:给中间内容div从第一个开始每一个最外层盒子添加一个class||id一个标识.(不能相同) 第二步: ...

最新文章

  1. php+mysql 大容量数据高效分页效果(弃用limit)
  2. 13.QT信号槽的连接方式
  3. linux下svn重新定位的方法
  4. File类的构造方法
  5. yum 来安装 nodejs
  6. 第 8 章 配置listener监听器
  7. 要闻君说:facebook迎来“全球宕机”惊险时刻;吸引大牛!拼多多成立了技术委员会;胡晓明卸任庚接任,阿里云计算迎来法人变更...
  8. C++语言基础 —— STL —— 算法
  9. 最小生成树----kruskal算法代码
  10. MongoDB CookBook读书笔记之备份与恢复
  11. python安装包下载及安装(超详细)
  12. MT2503模块价格,MT2503基带芯片,MT2503核心板资料介绍
  13. 语料库翻译学需要学计算机吗,语料库翻译学发展现状及转向
  14. 移动端 php 开源,poscms移动端地址函数
  15. Person Search
  16. word文件文档文本恢复转换器
  17. 2022 Pwnhub冬季赛 WP
  18. html icon 引入emoji,给自己网站增加Emoji表情图标(可以在百度显示类
  19. 阿猫阿狗的爱情游戏2
  20. PHP远程控制cmd,B374K PHP WEBSHELL:一款简单却功能强大的远程管理工具

热门文章

  1. 单片机课设波形发生器 产生方波、三角波、正弦波、锯齿波 波形幅度可调、频率可调
  2. 壳聚糖载抗生素水凝胶/接枝Nogo-A抗体的温敏型壳聚糖水凝胶/巯基化壳聚糖水凝胶的制备
  3. unity相机旋转带阻尼效果
  4. 优麒麟搜狗输入法简繁切换
  5. SeleniumWebdriver参数化详解
  6. 第三部分 数据结构 -- 第四章 图论算法1374:铲雪车(snow)
  7. [RK3288][Android6.0] Audio中的HW Params设置流程
  8. 【转】会议中控系统在智能化会议室的应用
  9. 富士康年轻工人现状调查:厌倦并依赖着-转自鲜果网
  10. css 取偶数节点_CSS选择器:奇偶匹配nth-child(even)