Я пытаюсь создать приложение в WPF и хочу включить полярную тепловую карту, такую как это можно сделать с помощью matplotlib в Python довольно легко. IE
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()
Я пытаюсь добиться этого с помощью OxyPlot 2.0.0 в C # и XAML, однако, насколько мне известно, нет встроенной поддержки для этого. Я попытался найти решение и наткнулся на эту проблему в репозитории github: https://github.com/oxyplot/oxyplot/issues/911,, где упоминается PolarColorHeatMapSeries, что будет именно тем, что мне нужно. Однако я не могу найти, как мне это реализовать. Таким образом, я думаю, что у меня есть несколько вариантов:
- Используйте обычную тепловую карту, преобразуйте (x, y) в (r, theta) и установите пиксели из определенного радиуса в
double.NaN
. После этого наложите его на пустой полярный график, чтобы показать полярные оси. Я сложил два отдельных PlotViews. Это не кажется (и не выглядит) правильным. - Используйте холст и создайте это самостоятельно. Нарисуйте каждый пиксель в виде прямоугольника. Однако я не уверен, как мне создать полярные оси в этом случае.
Кто-нибудь может подсказать, с чего начать?
С уважением.