WPF编程,Live Charts使用说明(51)——X轴Y轴同时赋值的一种方法
之前的事例中,生成图表都是单一的对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轴同时赋值的一种方法相关推荐
- d3.js多个x轴y轴canvas柱状图
d3.js多个x轴y轴canvas柱状图 最终效果图镇楼: 本文通过三个步骤来介绍d3.js. 1.简单的柱状图: 2.多个x轴的柱状图: 3.多个x轴.y轴的柱状图: 学习心得: d3.js入门相对 ...
- matplotlib 笔记:设置x轴 y轴文字
原本的图: import numpy as np import matplotlib.pyplot as plt lst=range(10000) a=np.random.choice(lst,150 ...
- opencv cv2.flip()函数(图像翻转、镜像、颠倒)(沿x轴翻转0、沿y轴翻转【正值】、同时沿x轴y轴翻转-【负值】)
def flip(src, flipCode, dst=None): # real signature unknown; restored from __doc__""" ...
- echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向
echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向 option1: {color: ['#21E9F6', '#F2CE2E', '#EE2929', '#006DD9', '#1789FF ...
- Echarts去除x轴,y轴网格线,网格区域(背景)
每次写到Echarts时,总会忘记去除x轴,y轴网格线,网格区域(背景)是怎么设置的了,在这里记录一下,有个印象 xAxis : [{type : 'value',splitNumber: 2,sca ...
- 输出一个平面点关于X轴Y轴以及原点的对称点
/* * 程序的版权和版本声明部分: * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李新鹏 ...
- Android X轴Y轴Z轴旋转
Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,一个简单的办法就是重写Animation.这里只是以Y轴旋转进行下说明,至于X轴.Z轴和Y轴的原理是一样的. ...
- 三菱FX5U,机床X轴Y轴工作台定位控制程序 全部使用两轴直线插补 有自动定位,手动定位!手动控制有,点动一次按钮每次走设置的距离
三菱FX5U,机床X轴Y轴工作台定位控制程序!使用三菱J4-A系列伺服驱动器绝对位置系统,程序大小27000多步 1.本程序最多可做20个定位工序,全部使用两轴直线插补! 2.有自动定位,手动定位!手 ...
- 西门子S7-1200PLC结构化编程5轴伺服项目 三轴机械手X轴-Y轴-Z轴联动取放料PTO脉冲定位控制台达B2伺服
西门子S7-1200PLC结构化编程5轴伺服项目 项目实现功能: 1.三轴机械手X轴-Y轴-Z轴联动取放料PTO脉冲定位控制台达B2伺服 2.台达伺服速度模式应用+扭矩模式应用实现收放卷 3.程序为结 ...
- vue中使用锚点x轴y轴
vue中使用锚点(x轴y轴) 需求1:点击左侧导航栏,页面需要滚动到对应的标题.(y轴) 第一步:给中间内容div从第一个开始每一个最外层盒子添加一个class||id一个标识.(不能相同) 第二步: ...
最新文章
- php+mysql 大容量数据高效分页效果(弃用limit)
- 13.QT信号槽的连接方式
- linux下svn重新定位的方法
- File类的构造方法
- yum 来安装 nodejs
- 第 8 章 配置listener监听器
- 要闻君说:facebook迎来“全球宕机”惊险时刻;吸引大牛!拼多多成立了技术委员会;胡晓明卸任庚接任,阿里云计算迎来法人变更...
- C++语言基础 —— STL —— 算法
- 最小生成树----kruskal算法代码
- MongoDB CookBook读书笔记之备份与恢复
- python安装包下载及安装(超详细)
- MT2503模块价格,MT2503基带芯片,MT2503核心板资料介绍
- 语料库翻译学需要学计算机吗,语料库翻译学发展现状及转向
- 移动端 php 开源,poscms移动端地址函数
- Person Search
- word文件文档文本恢复转换器
- 2022 Pwnhub冬季赛 WP
- html icon 引入emoji,给自己网站增加Emoji表情图标(可以在百度显示类
- 阿猫阿狗的爱情游戏2
- PHP远程控制cmd,B374K PHP WEBSHELL:一款简单却功能强大的远程管理工具
热门文章
- 单片机课设波形发生器 产生方波、三角波、正弦波、锯齿波 波形幅度可调、频率可调
- 壳聚糖载抗生素水凝胶/接枝Nogo-A抗体的温敏型壳聚糖水凝胶/巯基化壳聚糖水凝胶的制备
- unity相机旋转带阻尼效果
- 优麒麟搜狗输入法简繁切换
- SeleniumWebdriver参数化详解
- 第三部分 数据结构 -- 第四章 图论算法1374:铲雪车(snow)
- [RK3288][Android6.0] Audio中的HW Params设置流程
- 【转】会议中控系统在智能化会议室的应用
- 富士康年轻工人现状调查:厌倦并依赖着-转自鲜果网
- css 取偶数节点_CSS选择器:奇偶匹配nth-child(even)