Полярные графики в python

#python #numpy #matplotlib

#python #numpy #matplotlib

Вопрос:

Я пытаюсь построить диаграмму направленности антенны на python. У меня есть измеренные значения тета и радиуса в файле csv. Однако, когда я пытаюсь выполнить следующий код

 import numpy  as np
import matplotlib.pyplot as plt

gain_on = np.loadtxt('patterne.txt')


#------------------------------------------------------------------------


theta = gain_on[:, 0]
r = gain_on[:, 3]

fig1 = plt.figure()
ax1 = fig1.add_axes([0.1,0.1,0.8,0.8],polar=True)
ax1.set_rlim(-50,0)
#ax1.set_yticks(np.arange(-2,2,0.5))
ax1.plot(theta,r)
plt.show()
 

Я получаю этот выходной
полярный график python

Ожидаемый график — это ожидаемый график Как мне получить ожидаемый график в python?

Комментарии:

1. Что находится в вашем досье patterne.txt ?

2. Может быть, вы хотите theta = np.radians(theta) преобразовать градусы в радианы?

3. The patterne.txt файл имеет угол (в градусах) по отношению к принятой мощности на рупорной антенне.

Ответ №1:

Измените единицы измерения для тета с градусов на радианы:

 theta = numpy.deg2rad(gain_on[:,0])
 

В примерах для полярных графиков Matplotlib они всегда используют угол в радианах. например https://matplotlib.org/stable/gallery/pie_and_polar_charts/polar_demo.html