我有以下示例代码:
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()
...它会生成类似于这样的东西:
...但我想将 theta=0 调整到“西”方。所以需要类似于这样的结果:
有什么办法用 matplotlib 实现这个效果吗?(我是在 PowerPoint 中制作了下面的图片。)
numpy
提供了方便的角度转换函数:data_theta_rad = np.radians(data_theta)
。意思是使用numpy
库中的radians
函数可以将角度转换为弧度,并将结果赋值给data_theta_rad
变量。 - hitzg