You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单个figure中绘制多个相同形状?Python绘图无显示求助

解决单个Figure绘制多个形状无显示的问题
  • 先确保你正确初始化了Figure和Axes对象,用matplotlib的面向对象写法更稳妥,能避免全局状态导致的异常:

    import matplotlib.pyplot as plt
    
    # 创建单个Figure和对应的绘图区域Axes
    fig, ax = plt.subplots()
    
    # 循环绘制多个相同形状,这里以圆形为例,替换成你需要的形状即可
    for i in range(8):
        # 定义形状(比如圆心位置、半径、颜色)
        shape = plt.Circle((i, i), 0.4, color='orange')
        # 把形状添加到同一个Axes里
        ax.add_patch(shape)
    
    # 调整坐标轴范围,确保所有形状都在视野内
    ax.set_xlim(-0.5, 8.5)
    ax.set_ylim(-0.5, 8.5)
    ax.set_aspect('equal')  # 保持形状比例不扭曲
    
    plt.show()
    
  • 排查你可能踩的坑:

    • 循环里重复创建Figure:如果把plt.subplots()放进循环,会生成多个独立窗口,最后可能只显示空窗口,甚至导致显示异常
    • 形状没添加到Axes:像圆形、矩形这类patch类图形,必须用ax.add_patch()才能显示在绘图区域里
    • 坐标轴范围没调整:形状可能画在了当前坐标轴的视野外,导致看起来没显示
    • 没导入必要的模块:比如漏了import matplotlib.pyplot as plt或者对应形状的类

内容的提问来源于stack exchange,提问作者Abdurahman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:37:12