它以前工作正常,但是现在我还没有更改任何东西,我也不知道怎么了。香港专业教育学院环顾四周,但找不到答案。它可能有些愚蠢,但我可以找到它并在这里坐了几个小时xD
错误消息:ValueError:x和y必须具有相同的第一尺寸,但形状为(8,)和(9,)
import numpy as np
import matplotlib.pyplot as plt
numrange = range(0,360)
theta = numrange[0::45]
r = [-2.000, -2.000, -1.561, -1.592, -0.597, -2.000, -2.000, -0.187, -2.000]
ax = plt.subplot(111, projection='polar')
ax.plot(theta, r)
ax.set_rmax(1)
ax.set_rticks([-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2])
ax.set_rlabel_position(-22.5)
ax.grid(True)
ax.set_title("A line plot on a polar axis", va='bottom')
plt.show()
答案 0 :(得分:0)
您的numrange生成theta的以下值:
[0, 45, 90, 135, 180, 225, 270, 315]
您的r看起来像这样:
[-2.0, -2.0, -1.561, -1.592, -0.597, -2.0, -2.0, -0.187]
theta的长度是8,r的长度是9。
您可以删除r的一个值,也可以将数字范围更改为(0,361):
numrange = range(0,361)
获取旋转轴上的360度值:
[0, 45, 90, 135, 180, 225, 270, 315, 360]