在matplotlib极坐标图上旋转theta = 0

Hot*_*non 20 python plot matplotlib

我有以下示例代码:

import numpy as np
import matplotlib.pyplot as plt
import random

data_theta = range(10,171,10)

data_theta_rad = []
for i in data_theta:
    data_theta_rad.append(float(i)*np.pi/180.0)

data_r = random.sample(range(70, 90), 17)

print data_theta
print data_r

ax = plt.subplot(111, polar=True)
ax.plot(data_theta_rad, data_r, color='r', linewidth=3)
ax.set_rmax(95)
# ax.set_rmin(70.0)
ax.grid(True)

ax.set_title("Example", va='bottom')
plt.show()
Run Code Online (Sandbox Code Playgroud)

...产生这样的东西: 在此输入图像描述

...但我想将theta = 0设置为'West'.所以类似于:

在此输入图像描述

任何想法如何用matplotlib做这个(我在powerpoint中制作了下面的图片)?

hit*_*tzg 24

只需使用:

ax.set_theta_zero_location("W")
Run Code Online (Sandbox Code Playgroud)

有关matplotlib 文档的更多信息.


Syr*_*jor 8

更灵活的方式:

ax.set_theta_offset(pi)

您可以任意旋转轴,只需用pi您想要的角度替换即可.