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

plt.plot()动态绘制折线无点显示问题求助

问题原因
  • plt.plot(x, y)默认绘制折线,但你每次只传入单个标量x和y,没有前后坐标点来形成线段,默认线条样式(无标记)下自然看不到任何内容。
  • plt.scatter(x,y)是专门的散点绘制函数,单个点就能正常显示;plt.plot(x,y,'o-')里的'o'是点标记,'-'是线条样式,但因为每次只传单个点,线条没有可连接的前后节点,所以实际只显示了点,效果和scatter一致。
解决方案

要动态绘制折线图,需要累积每次的坐标数据,每次绘制时把所有历史数据都画出来,这样就能形成逐步延伸的折线效果:

from matplotlib import pyplot as plt
import numpy as np

# 初始化空列表存储历史坐标
x_data = []
y_data = []

plt.ion()  # 开启交互模式,让动态绘图更流畅
for i in range(10):
    x = i
    y = np.random.randint(1,11)
    
    x_data.append(x)
    y_data.append(y)
    
    plt.cla()  # 清除当前轴,避免重复绘制叠加
    plt.plot(x_data, y_data, '-')  # 绘制完整折线
    plt.pause(0.05)

plt.ioff()  # 关闭交互模式
plt.show()

如果想要同时显示折线和每个数据点的标记,把样式改成'-o'即可:

plt.plot(x_data, y_data, '-o')

注:plt.pause(0.05)的作用是暂停并刷新绘图窗口,和你看不到内容的核心原因无关,它只是让动态效果能被肉眼观察到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:42:04