Как я могу создать полярную тепловую карту в WPF? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь создать приложение в 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, что будет именно тем, что мне нужно. Однако я не могу найти, как мне это реализовать. Таким образом, я думаю, что у меня есть несколько вариантов:

  1. Используйте обычную тепловую карту, преобразуйте (x, y) в (r, theta) и установите пиксели из определенного радиуса в double.NaN. После этого наложите его на пустой полярный график, чтобы показать полярные оси. Я сложил два отдельных PlotViews. Это не кажется (и не выглядит) правильным.
  2. Используйте холст и создайте это самостоятельно. Нарисуйте каждый пиксель в виде прямоугольника. Однако я не уверен, как мне создать полярные оси в этом случае.

Кто-нибудь может подсказать, с чего начать?

С уважением.

...