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();
}