使用Matplotlib绘图无显示却打印数据并输出‘not found’求助
2024-12-30,120,170,225
2024-12-31,122,172,228
not found
--- # 问题分析与解决方案 咱们拆解一下你的问题:核心是**绘图窗口不显示**和**意外打印数据+出现"not found"提示**,逐个解决就好: ## 1. 绘图未显示的核心原因 Matplotlib不会自动弹出绘图窗口,必须手动调用`plt.show()`来触发显示。你的代码里刚好漏掉了这关键一行,导致图形绘制完成后没有被渲染出来。 修改方案:在绘图代码的最后加上这行: ```python plt.show()
2. 意外打印数据+输出"not found"的排查
- 持续打印数据:先检查代码里是不是不小心写了
print(df)这类语句——这会直接输出整个DataFrame的所有行。如果有,删掉或者注释掉就行,实在要验证数据,用print(df.head())只打印前5行就够了。 - 末尾的"not found":大概率是CSV文件路径不对:
- 先确认文件名有没有拼写错误(比如是不是把
prices_data.csv写成了price_data.csv?) - 如果CSV不在当前脚本的运行目录,要写完整路径,比如:
df = pd.read_csv("/Users/yourname/Documents/prices_data.csv") - 不确定当前目录的话,可以先打印出来确认:
import os print("当前运行目录:", os.getcwd())
- 先确认文件名有没有拼写错误(比如是不是把
完整修正后的代码示例
import pandas as pd import matplotlib.pyplot as plt import os # 可选:确认当前工作目录,方便排查文件路径问题 print("当前运行目录:", os.getcwd()) # 读取CSV(确保路径/文件名正确) df = pd.read_csv("prices_data.csv") # 转换日期列 df['date'] = pd.to_datetime(df['date']) # 优化绘图:设置图大小,添加标记让曲线更清晰 plt.figure(figsize=(10, 6)) plt.plot(df['date'], df['price1'], label='Price 1', marker='o') plt.plot(df['date'], df['price2'], label='Price 2', marker='s') plt.plot(df['date'], df['price3'], label='Price 3', marker='^') plt.xlabel('Date') plt.ylabel('Price') plt.title('Price Trends Over Time') plt.legend() plt.xticks(rotation=45) # 旋转日期标签,避免重叠 plt.tight_layout() # 自动调整布局,防止标签被截断 # 关键:显示绘图窗口 plt.show()
额外小提示
如果是在Jupyter Notebook里运行,不用写plt.show(),但要先加一行魔法命令%matplotlib inline,这样图形会直接嵌入到单元格里显示。
内容的提问来源于stack exchange,提问作者mushahid
相关产品推荐
相关产品推荐

