Python matplotlib代码运行成功但周CPU使用率图表无法显示求助
解决Matplotlib周CPU使用率折线图不显示的问题
核心问题排查与修复
1. 补充缺失的导入语句
你的代码中使用了plt(matplotlib.pyplot)和np(numpy)但未显式导入,这是导致图表无法正常渲染的核心原因。在代码最顶部添加以下导入:
import matplotlib.pyplot as plt import numpy as np
2. 适配不同运行环境
- Python脚本环境:如果在本地脚本运行,若仍无法显示,可指定Matplotlib的显示后端(根据系统选择合适的后端,比如
TkAgg、Qt5Agg):
确保系统已安装对应后端的依赖(如Tkinter、PyQt5等)。plt.switch_backend('TkAgg') - Jupyter Notebook环境:添加魔法命令让图表内嵌显示:
若需要交互式图表,改用:%matplotlib inline%matplotlib notebook
修复后的完整代码
import matplotlib.pyplot as plt import numpy as np cpu_usage = [ [2, 2, 4, 2, 4, 1, 1, 4, 4, 12, 22, 23, 45, 9, 33, 56, 23, 40, 21, 6, 6, 2, 2, 3], # Monday [1, 2, 3, 2, 3, 2, 3, 2, 7, 22, 45, 44, 33, 9, 23, 19, 33, 56, 12, 2, 3, 1, 2, 2], # Tuesday [2, 3, 1, 2, 4, 4, 2, 2, 1, 2, 5, 31, 54, 7, 6, 34, 68, 34, 49, 6, 6, 2, 2, 3], # Wednesday [1, 2, 3, 2, 4, 1, 2, 4, 1, 17, 24, 18, 41, 3, 44, 42, 12, 36, 41, 2, 2, 4, 2, 4], # Thursday [4, 1, 2, 2, 3, 2, 5, 1, 2, 12, 33, 27, 43, 8, 38, 53, 29, 45, 39, 3, 1, 1, 3, 4], # Friday [2, 3, 1, 2, 2, 5, 2, 8, 4, 2, 3, 1, 5, 1, 2, 3, 2, 6, 1, 2, 2, 1, 4, 3], # Saturday [1, 2, 3, 1, 1, 3, 4, 2, 3, 1, 2, 2, 5, 3, 2, 1, 4, 2, 45, 26, 33, 2, 2, 1], # Sunday ] labels=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"] for day in range(len(cpu_usage)): plt.plot(np.arange(24),cpu_usage[day],"--o",label=labels[day],linewidth=.4,markersize=4) plt.xticks(np.arange(24)) plt.legend(loc="best") plt.xlabel('hour') plt.ylabel('cpu usage') plt.show()
额外优化建议
- 调整
linewidth(如改为1)和markersize(如改为5),让线条和标记更清晰 - 添加图表标题:
plt.title('Weekly Hourly CPU Usage') - 设置y轴范围,避免极值干扰整体观察:
plt.ylim(0, 70)
内容的提问来源于stack exchange,提问作者Yuda Dian Febriansyah
相关产品推荐
相关产品推荐

