在WPF中使用D3创建等值线图
我试图使用D3的等值线图来显示一组数据的等高线图,其中每个像素都有X,Y和强度。 到目前为止,我从库中筛选得到的信息是,一个等值线图有一个数据源属性,它是IDataSource2D(Double)。 所以我在代码中创建了一个,但我不知道如何用任何数据填充它。 如果有人在WPF下成功地使用了D3的等值线图,我将非常感谢关于这一点的提示。 我已经搜索了好几个小时了,我能找到的只是3年前“CX Gamer”的一篇帖子,但他似乎不再有代码问题了。 提前感谢您的帮助 弗朗西斯。弗朗西斯 我查看了动态数据显示库,并从示例中获得了实现这一点的灵感 1。用XAML描述图形在WPF中使用D3创建等值线图,wpf,xaml,dynamic-data-display,Wpf,Xaml,Dynamic Data Display,我试图使用D3的等值线图来显示一组数据的等高线图,其中每个像素都有X,Y和强度。 到目前为止,我从库中筛选得到的信息是,一个等值线图有一个数据源属性,它是IDataSource2D(Double)。 所以我在代码中创建了一个,但我不知道如何用任何数据填充它。 如果有人在WPF下成功地使用了D3的等值线图,我将非常感谢关于这一点的提示。 我已经搜索了好几个小时了,我能找到的只是3年前“CX Gamer”的一篇帖子,但他似乎不再有代码问题了。 提前感谢您的帮助 弗朗西斯。弗朗西斯 我查看了动态数据显
<Grid>
<d3:ChartPlotter Name="plotter">
<!--to display the isolines-->
<d3:IsolineGraph Name="isolineGraph"/>
<!--to dynamically display the isocurve just under mouse cursor-->
<d3:IsolineTrackingGraph Name="trackingGraph"/>
<!--to show x and y coordinates-->
<d3:CursorCoordinateGraph/>
</d3:ChartPlotter>
</Grid>
2。用C#提供一些数据
public主窗口()
{
初始化组件();
常数int宽度=100;
const int height=100;
双精度[,]数据=新的双精度[宽度,高度];
对于(int row=0;row
我提供的代码计算一个函数,其值取决于x和y
我将计算出的(cosinus)值放入数据变量中
gridData
变量只保存{x,y}点
以下是完整的工作项目:
向弗朗西斯致意
我查看了动态数据显示库,并从示例中获得了实现这一点的灵感
1。用XAML描述图形
<Grid>
<d3:ChartPlotter Name="plotter">
<!--to display the isolines-->
<d3:IsolineGraph Name="isolineGraph"/>
<!--to dynamically display the isocurve just under mouse cursor-->
<d3:IsolineTrackingGraph Name="trackingGraph"/>
<!--to show x and y coordinates-->
<d3:CursorCoordinateGraph/>
</d3:ChartPlotter>
</Grid>
2。用C#提供一些数据
public主窗口()
{
初始化组件();
常数int宽度=100;
const int height=100;
双精度[,]数据=新的双精度[宽度,高度];
对于(int row=0;row
我提供的代码计算一个函数,其值取决于x和y
我将计算出的(cosinus)值放入数据变量中
gridData
变量只保存{x,y}点
以下是完整的工作项目:
我确实试过了,效果很好。
我只需修改您的示例,使其适用于矩形案例(宽度不等于高度),因为gridData赋值中存在反转:
gridData[column, row] = new Point(row, column)
改为
gridData[column, row] = new Point(column, row)
似乎就是这样。
遗憾的是,我不认为在D3等值线中有办法用颜色填充贴图,就像在热图或中一样(这是我在WinForms上使用的库,但在WPF中不起作用)。
所以我现在看的是Oxyplot。
非常感谢你的帮助
弗朗西斯。我确实试过,效果很好。
我只需修改您的示例,使其适用于矩形案例(宽度不等于高度),因为gridData赋值中存在反转:
gridData[column, row] = new Point(row, column)
改为
gridData[column, row] = new Point(column, row)
似乎就是这样。
遗憾的是,我不认为在D3等值线中有办法用颜色填充贴图,就像在热图或中一样(这是我在WinForms上使用的库,但在WPF中不起作用)。
所以我现在看的是Oxyplot。
非常感谢你的帮助
弗朗西斯。嗨,伊曼纽尔,我刚才也在看那个“扭曲的数据源2D”。。。非常感谢你的例子!我会试着实施。弗朗西斯,你有时间试一试吗。清楚吗?嗨,艾曼纽,我刚才也在看那个“扭曲的数据源2D”。。。非常感谢你的例子!我会试着实施。弗朗西斯,你有时间试一试吗。清楚吗?