C# 如何在WPF中创建极地热图?

C# 如何在WPF中创建极地热图?,c#,wpf,.net-core,oxyplot,C#,Wpf,.net Core,Oxyplot,我正在尝试在WPF中创建一个应用程序,并且我希望包含一个极性热图,例如可以在Python中使用matplotlib非常容易地完成的。即 import matplotlib.pyplot as plt import numpy as np fig = plt.figure() plt.subplot(projection='polar') r = np.linspace(0,1,100) # radius t = np.linspace(0,2*np.pi, 100) # angle R,

我正在尝试在WPF中创建一个应用程序,并且我希望包含一个极性热图,例如可以在Python中使用matplotlib非常容易地完成的。即

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
plt.subplot(projection='polar')

r = np.linspace(0,1,100) # radius
t = np.linspace(0,2*np.pi, 100) # angle

R, T = np.meshgrid(r,t)
Z = R*R

plt.pcolormesh(T,R,Z)
plt.grid()
plt.thetagrids([theta*45 for theta in range(360//45)])
plt.show()
我正试图使用C#&XAML中的OxyPlot 2.0.0来实现这一点,但是据我所知,它没有本机支持。我尝试过寻找解决方案,在github存储库中遇到了这个问题:,其中提到了PolarColorRheatMapSeries,这正是我所需要的。然而,我无法找到我应该如何实现这一点。因此,我认为我有几个选择:

  • 使用常规热图,将(x,y)变换为(r,θ),并将特定半径外的像素设置为
    double.NaN
    。然后,用空极坐标图覆盖以显示极坐标轴。我已堆叠了两个单独的绘图视图。这感觉(看起来)不对劲
  • 使用画布,自己构建。将每个像素绘制为矩形。但是,我不确定在这种情况下如何创建极轴
  • 谁能告诉我从哪里开始


    亲切的问候。

    我四处闲逛了一下,也没发现什么。然而,这里有一个实现,它可能会帮助您达到目标。。。谢谢你,戈登,这个文件真的帮了大忙。我对这个文件做了一些小的调整(之后我也发现了这个文件,隐藏在github存储库的示例部分中),并使它开始工作!所以我的问题的答案很简单:看看官方的oxyplot github存储库!很高兴链接起了作用!我会把它作为答案贴出来。请注意,该链接指向官方存储库的分支