基于WPF的DynamicDataDisplay曲线显示

ops/2024/10/11 11:22:32/

请添加图片描述

一、DynamicDataDisplay下载和引用
1.新建项目,下载DynamicDataDisplay引用:
如下图:
在这里插入图片描述
在这里插入图片描述
二、前端开发:

        <Border Grid.Row="0" Grid.Column="2" BorderBrush="Purple" BorderThickness="1" Margin="2"><Grid><Grid.RowDefinitions><RowDefinition Height="20"/><RowDefinition Height="*"/></Grid.RowDefinitions><CheckBox Grid.Row="0" Name="ShowMark" Content="ShowMark" IsChecked="True" Click="ShowMark_Click"/><d3:ChartPlotter Grid.Row="1" Name="chartdemo"></d3:ChartPlotter></Grid></Border>

在这里插入图片描述
三、后端开发:
1、定义两条曲线

        //曲线1private LineAndMarker<ElementMarkerPointsGraph> line1 = null;//曲线2private LineAndMarker<ElementMarkerPointsGraph> line2 = null;

2、设置曲线属性:

            //定义X轴数据var exds = new EnumerableDataSource<double>(Listx);exds.SetXMapping(p => p);//定义Y轴数据var eyds = new EnumerableDataSource<double>(Listy);eyds.SetYMapping(p => p);//定义鼠标点位显示值eyds.AddMapping(ShapeElementPointMarker.ToolTipTextProperty, p => string.Format("温度{0}", p));//定义数据IPointDataSource chartds1 = new CompositeDataSource(exds, eyds);

3、曲线赋值:

            line1 = chartdemo.AddLineGraph(chartds1,new Pen(Brushes.LimeGreen, 3),//曲线数据,曲线颜色,曲线宽度new CircleElementPointMarker { Size = 10, Fill = Brushes.Orange, Brush = Brushes.Red },//曲线标点的点大小和颜色new PenDescription("温度曲线"));//曲线的名称

4、控件刷新显示:

            chartdemo.Children.Add(new CursorCoordinateGraph());chartdemo.FitToView();

5、控制曲线是否显示标点:

            if (ShowMark.IsChecked == true){line1.MarkerGraph.DataSource = chartds1;}else{line1.MarkerGraph.DataSource = null;}

6、清除某条曲线

            if (line1 != null){chartdemo.Children.Remove(line1.LineGraph);}

四、展示
请添加图片描述


http://www.ppmy.cn/ops/39098.html

相关文章

国产银河麒麟V10SP1系统下搭建TiDB数据库操作步骤图文

开发目的&#xff1a;在国产银河麒麟系统中搭建TiDB数据库运行环境。 开发工具&#xff1a;银河麒麟系统V10SP1TiDBMySql数据库8.0。 具体步骤&#xff1a; 1、在VmWare虚拟机中安装好国产银河麒麟V10Sp1操作系统。 2、打开终端命令&#xff0c;安装TiDB相关软件&#xff1…

Java基础知识(11)

Java基础知识&#xff08;11&#xff09; &#xff08;包括&#xff1a;IO流高级流&#xff0c;网络爬虫基础&#xff0c;Commons-i0工具包和Hutool工具包&#xff09; 目录 Java基础知识&#xff08;11&#xff09; 一.IO流高级流 1.缓冲流 【1】字节缓冲流 &#xff0…

分布式锁之RedissonLock

什么是Redisson&#xff1f; 俗话说他就是看门狗&#xff0c;看门狗机制是一种用于保持Redis连接活跃性的方法&#xff0c;通常用于分布式锁的场景。看门狗的工作原理是&#xff1a;当客户端获取到锁之后&#xff0c;会对Redis中的一个特定的键设置一个有限的过期时间&#xff…

AI 大模型训练平台

涉及重点技术内容包括&#xff1a; 数据预处理技术 利用数据挖掘、自然语言处理中的正则匹配、文本去重等技术&#xff0c;对收集的专家知识库、专业标准、知识、逻辑机理、运维经验与运行数据等资料进行冗余字符过滤、重复值删除等处理&#xff0c;提升整体预料质量。 2.指令…

机器学习的一些知识点分享

下面数据集中&#xff0c;第2个样本的第4个属性的值是&#xff08; &#xff09;。 A 52 B 男 C 50 D 49 本题得分&#xff1a; 2分 正确答案&#xff1a; D 2.单选题 (2分) 10-折交叉验证是把数据集分成&#xff08; &#xff09;个子集&#xff0c;将其中&#xff…

爬虫-无限debug场景 解决方式

解决无限debug 场景1 1. 鼠标右键 选择 continue to here&#xff08;此处不停留&#xff09;2. 鼠标右键 选择 edite breakpoint 设置 10 保证条件不成立 这行永远不执行3.方法置空 1. 方法调用加断点2. 控制台 setInterval function name() {}4. 替换文件 5. hoo…

【JVM】了解JVM规范中的虚拟机结构

目录 JVM规范的主要内容 1&#xff09;字节码指令集(相当于中央处理器CPU) JVM指令分类 2&#xff09;Class文件的格式 3&#xff09;数据类型和值 4&#xff09;运行时数据区 5&#xff09;栈帧 6&#xff09;特殊方法 7&#xff09;类库 JVM规范的主要内容 1&#…

C++常用库函数——strcmp、strchr

1、strcmp&#xff1a;比较两个字符串的值是否相等 例如 char a1[6] "AbDeG",*s1 a1;char a2[6] "AbdEg",* s2 a2;s1 2;s2 2;printf("%d \n", strcmp(s1, s2));return(0); s1指向a1&#xff0c;s2指向a2&#xff0c;strcmp表示比较s1和s…