Я пытаюсь построить эту фигуру диаграммы направленности
следующего уравнения:
Я могу сделать это частично:
%matplotlib inline
import matplotlib.ticker
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')
import numpy as np
import pylab as pl
def gain_dip(theta, phi):
return 1.641*(np.cos(np.pi/2*np.cos(theta))/np.sin(theta))**2
theta = np.arange(-np.pi, np.pi,0.01)
# plot
ax = plt.subplot(111, polar=True)
# set zero west
ax.set_theta_zero_location('W')
ax.set_theta_direction('clockwise')
# let set an azimuth for example, pi
plt.plot(theta, gain_dip(theta, np.pi))
, которая отображает угол возвышения (тета) и аналогична отметке примера. Тем не менее, у него есть линия под углом 180 градусов, которая не должна появляться.
Я хотел бы построить азимутальный угол, phi тоже, нопри попытке выдает ошибку:
phi = np.arange(-np.pi, np.pi,0.01)
ax = plt.subplot(111, polar=True)
# set zero west
ax.set_theta_zero_location('W')
ax.set_theta_direction('clockwise')
plt.plot(phi, gain_dip(np.pi/2, phi))
ValueError: x and y must have same first dimension, but have shapes (629,) and (1,)
И можно ли построить оба угла, как на первом графике?