Колчан в полярном графике возвращает график рассеяния вместо стрелок, когда это не должно - PullRequest
0 голосов
/ 05 декабря 2018
r = np.linspace(0.1,1,11)
theta = np.linspace(-alpha,alpha,11)
radius_matrix, theta_matrix = np.meshgrid(r,theta)

u_radial = -q*(1/radius_matrix)*u_sol[0]
u_theta = theta_matrix*[0 for x in range(len(u_sol[0]))]

ax = plt.subplot(111, polar=True)
ax.plot(theta_matrix, radius_matrix, u_radial, u_theta) #color='r', 
ls='none', marker='.'
plt.show()

Я пытаюсь построить график поля скорости (такой же, как векторное поле), используя функцию колчана numpys.Поле скоростей записывается как

enter image description here

, где q - произвольная постоянная, а r - расстояние до начала координат.Теперь, чтобы отобразить это в полярной системе координат, я создаю две сеточные сетки radius_matrix и theta_matrix, как видно из моего кода (строка три).Вместе эти сетки образуют полярную координатную плоскость с r на горизонтальной оси и тета на вертикальной оси (по крайней мере, я так думаю), и каждая точка должна иметь векторную стрелку, соответствующую уравнению выше.

Так что для этогочтобы это произошло, я определяю u_radial и u_theta, которые являются компонентами вектора в радиальном и угловом направлении, соответственно. Переменная u_sol [0] содержит f (theta) (как видно из уравнения) для 11 различных тэта-точек, и я подумал, чтоэто даст правильный векторный компонент, но это не так.Почему бы и нет?

Я ожидаю что-то вроде этого, когда стрелка сжимается, когда я подхожу близко к краю для одного значения r.Я просто хочу это, но для большего значения r.Это данные моего вектора u_sol [0]:

u_sol[0] = [4.68520269e-26 1.54380741e+00 2.74550730e+00 3.60503630e+00
4.12217780e+00 4.29651250e+00 4.12741184e+00 3.61407419e+00
2.75560427e+00 1.55113610e+00 3.84028608e-18]

Когда я строю это, у меня что-то хуже, см. Рисунок ниже.Что случилось со стрелками?И почему вдруг появляются цвета?

С наилучшими пожеланиями, SimpleP.enter image description here

...