python Matplotlib:属性错误:'PolarAxesSubplot'对象没有属性'polar'

mbzjlibv  于 2022-11-28  发布在  Python
关注(0)|答案(1)|浏览(208)

我必须绘制一个极坐标和一个散射点。代码如下:

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='polar')

iterator = lidar.iter_scans()
line = ax.scatter([0, 0], [0, 0], s=5, color="xkcd:salmon")
ax.set_rmax(DMAX)
ax.grid(True)
data = []

def environment():
    for i, scan in enumerate(lidar.iter_scans(5000)):
        if i <= 100:
            if i > 2:
                data.extend(scan,)
        else:
            break

    lidar.stop()
    lidar.get_info()
    lidar.get_info()
    lidar.get_health()

env_variable= np.array([(np.radians(meas[1]), meas[2])
                        for meas in data])
theta= [eachValue[0] for eachValue in env_variable]

r= [eachValue[1] for eachValue in env_variable]

ax.polar(theta, r)

最后一条线(ax.polar(theta, r) )产生了误差。我怎样才能在同一个图形中绘制这个极坐标,或者在同一个地方绘制两个图形的最佳方法是什么

irtuqstp

irtuqstp1#

我认为取决于python版本
使用python 3.9就可以了
我确实尝试了python 3.6,但我得到了错误,但以这种方式进行初始化对我很有效:

fig, ax1 = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))

而不使用

ax1.polar(angles, values)

相关问题