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

Python实时绘图:替换i值而非追加实现单x值柱状图动态更新

实时单柱动态更新实现方案

核心修改逻辑

  • 固定x轴唯一刻度值为常量,无需动态追加x序列生成新刻度
  • 复用柱状图对象,仅更新柱子高度属性,避免重复创建图层导致的内存上涨和渲染卡顿
  • 移除x轴范围动态计算逻辑,固定显示范围适配单个柱子即可

修改后完整代码

import time
import psutil
import matplotlib.pyplot as plt
%matplotlib notebook

fig = plt.figure()
ax = fig.add_subplot(111)
# 固定y轴范围为CPU使用率的合理区间0-100
ax.set_ylim(0, 100)
# 固定x轴范围,仅容纳单个柱子
ax.set_xlim(-0.5, 0.5)
plt.axis('off')
fig.show()

# 首次创建单个柱子,保存柱子对象后续复用
bar = ax.bar(0, 0, color='b')

while True:
    current_cpu = psutil.cpu_percent()
    # 直接更新柱子高度,无需重新创建柱状图
    bar[0].set_height(current_cpu)
    
    fig.canvas.draw()
    time.sleep(0.1)

补充说明

  • 如果需要显示x轴刻度,删除plt.axis('off')语句,自定义x轴刻度标签为固定值即可
  • 若后续需要同时展示多个固定位置的柱子,只要给每个柱子分配固定的x值(比如0、1、2),分别保存对应的柱子对象单独更新高度即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:00:01