zoukankan      html  css  js  c++  java
  • C#写上位机中写曲线图的知识点(VS2019-WPF)

    最近在写一个上位机,为了与下位机软件串口进行通信以及一些数据的形象显示,做到曲线图这一块的时候出现了一些问题,我用的是VS2019(个人不能吐槽VS2019新版本,因为平时也很少用VS,下载的时候就直接下载VS2019,用着还好吧,就是出问题得自己去试,在网上找解决办法貌似很难找)

    废话不多说了,开始讲啦

    因为我用WPF写的,它的WPF控件里面不像WFC中直接有chart控件,可以直接拿来用,如下图所示为WPF的控件

    然后我使用DynamicDataDisplay控件来做折线图的设计

    (1)下载DynamicDataDisplay库文件(下载链接放到评论里面了)

    (2)在创建的WPF项目的引用里面添加DynamicDataDisplay库文件(如下图所示)浏览按钮找到刚下载的库文件加载进去即可

    (3)在XAML文件中先引入chart文件具体代码见下

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
    xmlns:local="clr-namespace:WPFSerialAssistant"
    (4)然后在自己想要添加的地方写入chart的具体设计代码,我的代码如下,可做参考

    <d3:ChartPlotter Name="plotter">
    <d3:Header TextBlock.FontSize="20">
     图的名字
    </d3:Header>
    <d3:VerticalAxisTitle>Sine value</d3:VerticalAxisTitle>
    <d3:HorizontalAxisTitle>Sine argument</d3:HorizontalAxisTitle>
    </d3:ChartPlotter>
    (5)有关数据绑定的问题,比如你现在要画折线图上面的点了,应该怎么操作?

    在定义chart的时候定义了name属性,可以根据name属性在cs中进行数据的绑定来进行画点。

    放一下我的代码哈

    int N =RecData.Length;
    double[] x = new double[N];
    double[] y = new double[N];

    for (int i = 0; i < N; i++)
    {
    x[i] =i;
    y[i] = Convert.ToDouble(RecData[i]);
    }

    // 创建数据资源
    var xDataSource = x.AsXDataSource();
    var yDataSource = y.AsYDataSource();

    CompositeDataSource compositeDataSource = xDataSource.Join(yDataSource);
    // 添加数据到图像上
    plotter.AddLineGraph(compositeDataSource, Colors.Goldenrod, 3);

    // 变可见
    plotter.FitToView();
    --------------------- 

  • 相关阅读:
    朋友圈、浏览器分享实现
    Cannot read property 'appendChild' of null
    Nginx报错:Sorry, the page you are looking for is currently unavailable. Please try again later.
    RGBA(0,0,0,0)调色
    windows下 python中报错ImportError: No module named 'requests'
    一起谈.NET技术,C# 基础概念之延迟加载 狼人:
    一起谈.NET技术,为类提供软件约定 狼人:
    一起谈.NET技术,asp.net控件开发基础(6) 狼人:
    一起谈.NET技术,详解.NET程序集的加载规则 狼人:
    一起谈.NET技术,Linq学习笔记 狼人:
  • 原文地址:https://www.cnblogs.com/ly570/p/10971075.html
Copyright © 2011-2022 走看看