【问题标题】:How can I see only a part of whole radar graph in python?如何在 python 中只看到整个雷达图的一部分?
【发布时间】:2021-03-29 03:30:31
【问题描述】:

我正在尝试使用 matplotlib 在雷达图上绘制 180 度激光雷达数据。代码就像

import sys
import os
import struct
import matplotlib.pyplot as plt
import time
import math

ax = plt.subplot(111, polar=True)
plt.ylim(0,255)

def animate():
    ax.clear()
    ax.plot(xar, lidarData, linewidth=1, linestyle='solid')
    plt.pause(0.0001)

plt.ion()
plt.show(block=False)

其中 xar 是角度 -90 到 90(绘图需要 rad)。由于我只使用图表的上半部分,如何让它只显示圆的一半?以便我可以清楚地看到数据。

【问题讨论】:

  • 请提供预期的MRE - Minimal, Reproducible Example。您发布的代码在未定义的符号上失败。您忽略了必需的 import 语句。
  • 感谢您指出这一点。刚刚更新了问题。

标签: python matplotlib plot graph


【解决方案1】:

plt.show() 之前使用ax.set_thetamax(180)。如果不想从 0 开始,也可以ax.set_thetamin()

编辑:OP 要求的 Python 3.9.2 代码。

import sys
import os
import struct
import matplotlib.pyplot as plt
import time
import math

ax = plt.subplot(111, polar=True)
plt.ylim(0,255)

def animate():
    ax.clear()
    ax.plot(xar, lidarData, linewidth=1, linestyle='solid')
    plt.pause(0.0001)

plt.ion()
ax.set_thetamax(180)
    
plt.show(block=False)

结果:

当然,这是一个空白图表,因为我没有激光雷达数据。

【讨论】:

  • 我试过了,但它没有将图形圈切成部分(像一块馅饼)。
  • 我复制粘贴了你的代码并添加了那一行,我得到了上半圆。无法重现您的错误。
  • 您使用的是 python 3 还是 2?你能分享你的代码吗?
  • 如果还是不行,不妨分享一下你的xarlidarData
  • 我正在使用 3.7.3 。这很奇怪。让我试试 3.9.2
猜你喜欢
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多