#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