Добавление осей к полярному графику с помощью matplotlib - PullRequest
0 голосов
/ 23 октября 2018

Я знаю, что это должно быть так же просто, как в аду, но на самом деле я не могу понять, как добавить дополнительную ось (скажем, при 22,5 °) на полярный график.На самом деле у меня есть this, хотя я хотел бы получить что-то вроде this (очевидно, не красным, просто для того, чтобы подчеркнуть).

Вот часть кода, который я использую:

     ax = plt.subplot(111, projection='polar')
     ax.set_theta_zero_location("N")
     ax.set_theta_direction(-1)

     r = np.array(...)
     t = []
     theta = np.array(...)
     ax.plot(theta, r)
     max_value = np.amax(out)
     ax.set_rmax(max_value)
     ax.set_rticks([int(max_value/5), int(max_value*2/5),int(max_value*3/5), int(max_value*4/5)])  
     # ax.set_rlabel_position(-22.5) 
     ax.grid(True)

Заранее благодарим за поддержку!

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете использовать set_thetagrids см. Определение в https://matplotlib.org/api/projections_api.html

в вашем случае

ax = plt.subplot(111, projection='polar')
ax.set_theta_zero_location("N")
ax.set_theta_direction(-1)

r = np.array([33, 22,50,15])
t = []
theta = np.array([33, 22,50,15])
ax.plot(theta, r)
max_value = np.amax(r)
ax.set_rmax(max_value)
ax.set_rticks([int(max_value / 5), int(max_value * 2 / 5), int(max_value * 3 / 5), int(max_value * 4 / 5)])

ax.set_thetagrids(np.arange(0, 360, 22.5))

# ax.set_rlabel_position(-22.5)
ax.grid(True)
plt.show()

result image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...