一、DynamicDataDisplay使用步骤
- 在引用中增加 DynamicDataDisplay.dll
- 在XAML中增加名称空间:xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
- 在XAML中增加Chartplotter控件:<d3:ChartPlotter Name="plotter"></d3:ChartPlotter>
- 在cs中增加数据集合X,Y
- 在cs中使用AddLineGraph()方法绘图
我这使用的是DynamicDataDisplay源码中的示例:【HelloWorldSample】
<Window x:Class="Simplest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"
Title="Simplest plot sample" Height="243" Width="416">
<d3:ChartPlotter Name="plotter">
<d3:Header TextBlock.FontSize="20">
Very simple chart
</d3:Header>
<d3:VerticalAxisTitle>Sine value</d3:VerticalAxisTitle>
<d3:HorizontalAxisTitle>Sine argument</d3:HorizontalAxisTitle>
</d3:ChartPlotter>
</Window>
using Microsoft.Research.DynamicDataDisplay;
using Microsoft.Research.DynamicDataDisplay.DataSources;
using System;
using System.Linq;
using System.Windows;
using System.Windows.Media;
namespace Simplest
{
/// <summary>Interaction logic for simplest plot application</summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
// 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();
}
}
}