Jupyter Notebook中plt.show()无显示,plt.plot()缺失坐标轴标签求助
问题描述
我是Python新手,正在尝试绘制图表。遇到两个问题:
- 调用
plt.show()完全无法显示内容; - 直接运行
plt.plot(x,y)能显示图表,但缺少x轴和y轴标签。
调整代码顺序后问题仍未解决,我的代码如下:
import pandas as pd from matplotlib import pyplot as plt df = pd.read_csv('forcedecks-test-export-11_09_2022.csv') specified = df.loc[df['Name'] == "Athlete 1"] x = specified['Date'] y = specified["Peak Power / BM [W/kg] "] plt.xlabel('Date', fontsize=12) plt.ylabel('Peak Power / BM [W/kg] ', fontsize=12) plt.plot(x,y) plt.show()
解决方案
先把Date列转为datetime类型:你的x轴数据是原始字符串格式,matplotlib没法正确解析成时间轴,这是标签不显示、
plt.show()失效的核心原因。在读取CSV后添加这行代码:df['Date'] = pd.to_datetime(df['Date'])处理后再提取x轴数据,matplotlib就能正常识别并渲染轴标签。
适配交互式环境(如Jupyter):如果用Jupyter Notebook,在代码开头加
%matplotlib inline魔法命令,让图表直接内嵌显示;如果是普通脚本,检查有没有代码提前终止或者未捕获的异常,导致plt.show()没执行到。清理列名的多余空格:你的y轴列名末尾带空格
"Peak Power / BM [W/kg] ",虽然当前能运行,但容易引发后续问题,建议统一清理列名:df.columns = df.columns.str.strip() y = specified["Peak Power / BM [W/kg]"]修复matplotlib后端渲染问题:如果
plt.show()还是没反应,可能是后端配置异常,手动指定后端试试(比如TkAgg),放在导入plt之后:from matplotlib import pyplot as plt plt.switch_backend('TkAgg')
内容的提问来源于stack exchange,提问作者Markus Fürst
相关产品推荐
相关产品推荐

