0

我是 Python 的新手,但我必须在其中做极坐标图。

我找到了这段代码:

import numpy as np
import pylab as plt

fig = plt.figure()
ax = plt.axes(polar=True)

r =  np.array([3.21,3.03,2.69,2.13,1.58,0.98,0.52,0.14,0.03,0.00])

theta = 2*np.pi/360 * np.array(list(range(0, 100, 10)))

ax.plot(theta, r, "ro")
ax.errorbar(theta, r, yerr=0.1, xerr=0.05, capsize=0)

plt.show()

我必须做一些改变。在数组中我想要 36 个值,但是当我尝试添加它时,我得到了这个错误:

ValueError:x 和 y 必须具有相同的第一维

我对误差线也有疑问,'yerr' 是 'r' 数组中的值错误。角度的“xerr”误差是弧度吗?

4

1 回答 1

2

Theta 和 r 的维度必须相同。这里 len(r) = 10 和 len(theta)=10

例如:如果您在 r theta 中有 36 个值,则可能是:

theta = 2*np.pi/360 * np.array(list(range(0, 360, 10)))

问候

于 2015-10-09T13:39:49.947 回答