WPF编程,曲线控件DynamicDataDisplay的使用方法(一)

本文介绍如何使用DynamicDataDisplay库在WPF应用程序中创建动态数据可视化,包括线图、气泡图等复杂图表。文章详细描述了从安装、配置到数据展示的全过程,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DynamicDataDisplay.dll是一个添加动态数据到WPF应用程序交互的可视化控件。
它允许创建线图,气泡图,热图和其他复杂的二维图。

以下代码是基于0.3.0.0版本的DLL,最新的DLL某些方法已不适用。

1、安装

右击项目,管理NUGET包,在浏览中查找:DynamicDataDisplay。可以看到已经停止更新比较久了……
因为不在维护,此控件似乎只能用于临时展示些小数量的数据,数量多的情况下性能无法保证。
在这里插入图片描述
在这里插入图片描述

除此之外,也可以在网上下载单独的DLL,引入到项目中。

2、在XAML中增加名称空间

xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"

3、增加Chartplotter控件

<d3:ChartPlotter Name="plotter"/>

4、后台增加数据

        ObservableDataSource<Point> currentDataFrame = new ObservableDataSource<Point>();
        public MainWindow()
        {
            InitializeComponent();
            Window_Loaded_1();
        }
        private void Window_Loaded_1()
        {
            LineGraph graphAcc_x = new LineGraph();
            graphAcc_x = plotter.AddLineGraph(currentDataFrame, Colors.Red, 1, "AD_data");  //注册绘图图线,配置粗细颜色以及显示名称
            plotter.FitToView();

            ShowLine();

        }

        private void ShowLine()
        {
            Point point = new Point(0, 0);
            for (int i = 1; i <= 512; i++)
            {
                point.X = i;
                point.Y = i + 100;
                currentDataFrame.AppendAsync(base.Dispatcher, point);
            }

        }

5、效果

在这里插入图片描述

源代码下载

6、曲线

在这里插入图片描述

        void showcurve()
        {
            // Prepare data in arrays
            const int N = 1000;
            double[] x = new double[N];
            double[] y = new double[N];

            for (int i = 0; i < N; i++)
            {
                x[i] = i * 0.1;
                y[i] = Math.Sin(x[i]);
            }

            // Create data sources:
            var xDataSource = x.AsXDataSource();
            var yDataSource = y.AsYDataSource();

            CompositeDataSource compositeDataSource = xDataSource.Join(yDataSource);
            // adding graph to plotter
            plotter.AddLineGraph(compositeDataSource, Colors.Goldenrod, 3, "Sine");

            // Force evertyhing plotted to be visible
            plotter.FitToView();
        }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值