该图是否具有相同的x和y尺寸?我不明白

时间:2018-12-07 08:51:45

标签: python matplotlib graph

它以前工作正常,但是现在我还没有更改任何东西,我也不知道怎么了。香港专业教育学院环顾四周,但找不到答案。它可能有些愚蠢,但我可以找到它并在这里坐了几个小时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()

1 个答案:

答案 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]