Я пытаюсь получить интерполированную «Тепловую карту» (круглые / полярные шнуры) для 5 образцов на лабораторном столе r = 85 мм. То, что я хотел получить, это интерполированная «Карта». У сэмплов разные позиции на столе, и у меня есть дБ-значение для каждого сэмпла (поэтому мы называем значение / координату z). Можно ли интерполировать всю круговую сетку, чтобы получить что-то вроде тепловой карты для всей таблицы?
В настоящее время я застрял в этом и не знаю, как дальше.
Вот код, который я написал до сих пор, но он не выглядит так, как я ожидал.
from pylab import *
import numpy as np
from scipy.interpolate import griddata
# Points within the circle (radius 85mm) corresponding to the sample
position on a circ. measuring table of r=85mm
max_r = 85
max_theta = 2*np.pi
number_points = 5
points = np.array([[64,(-6/8)*np.pi], [64,(6/8)*np.pi], [0, 0],[60,
(-2/8)*np.pi],[60, (2/8)*np.pi]]) # [r,theta] of the specific Sample
position
# The Measured Values in dB-Scale ("z"-Values) for the five Samples
values = [-38.469016,-38.159216 ,-36.763974,-36.208431 ,-36.004596]
# create grid
theta = np.linspace(0.0, 2*np.pi, 50)
r = np.linspace(0, max_r, 50)
grid_r, grid_theta = np.meshgrid(r, theta)
data = griddata(points, values, (grid_r, grid_theta), method='cubic',
fill_value=0)
# Create a polar projection
ax1 = plt.subplot(projection="polar")
ax1.pcolormesh(theta, r, data.T)
ax1.set_rmax(85)
plt.show()
Я благодарен за любую помощь.
С наилучшими пожеланиями
Бастиан
Вот два графика, один с правильным расположением образцов на сетке, один из кода выше.