使用matplotlib将轴添加到极坐标图中

时间:2018-10-23 16:24:03

标签: python matplotlib

我知道它应该像地狱一样简单,但是实际上我不知道如何在极坐标图上添加附加轴(比如说在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 :(得分:0)

您可以使用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