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

Matplotlib打印出正确数据列表但无法正常渲染绘图结果求助

问题原因

你代码的错误出在plt.plot()的调用顺序错误:你在dev_x、dev_y两个列表还处于空值状态时就提前执行了绘图指令,后续向列表追加的坐标数据不会自动同步到已创建的绘图对象中,因此最终plt.show()渲染的是空数据的画布,看不到折线。

修复方法

  • 删除位于dev_x = []、dev_y = []定义语句下方的plt.plot(dev_x, dev_y)代码行
  • 将plt.plot(dev_x, dev_y)移动到while循环结束后、plt.show()执行前的位置,确保绘图时已经拿到了完整的坐标数据。

修复后完整代码

from matplotlib import pyplot as plt

number = 14
count = 0

dev_x = []
dev_y = []

while number != 1:
    if(number % 2 == 0):
        _number = number / 2
        number = _number
        print(number)
        dev_y.append(int(number))
        dev_x.append(int(count))
        count = count + 1
    else:
        _number = number * 3 + 1
        number = _number
        print(number)
        dev_y.append(int(number))
        dev_x.append(int(count))
        count = count + 1

    print(count)
else:
    count = count + 1
    print(dev_x)
    print(dev_y)
    # 移动到此处调用plot,此时列表已有完整数据
    plt.plot(dev_x, dev_y)
    plt.show()
    print("DONE")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:39:00