如何在Matplotlib图表标题中添加对应CSV文件名?
解决CSV图表标题添加文件名的问题
嘿,作为Python新手能自己搞CSV数据分析已经很棒啦!要把文件名加到图表标题里其实超简单,你只需要在绘制图表的循环里,把当前遍历到的fName变量整合到标题里就行~
修改后的完整代码示例
假设你的openF函数已经能正确返回数据框和循环次数,这里给你补全并修改了关键部分:
import numpy as np import pandas as pd import matplotlib.pyplot as plt import glob # 如果需要去掉文件名后缀,需导入os模块 import os for fName in glob.glob('*.csv'): df, loops = openF(fName) fig, ax = plt.subplots(1, 1) # 这里替换成你自己的绘图逻辑(比如你代码里的df.loc[df['loo...) for i in range(loops): # 示例绘图代码,实际替换为你的数据处理+绘图逻辑 ax.plot(df.iloc[:, i], label=f'Loop {i+1}') # 方法1:直接使用带后缀的原文件名作为标题一部分 ax.set_title(f"CSV数据分析图表 - {fName}") # 方法2:去掉.csv后缀,让标题更简洁(取消注释即可使用) # file_name_clean = os.path.splitext(fName)[0] # ax.set_title(f"数据分析图表 - {file_name_clean}") ax.legend() plt.show()
关键知识点说明
- 核心逻辑:利用循环中的
fName变量,通过f-string格式化将文件名插入标题文本。用ax.set_title()设置子图标题是更推荐的方式,比plt.title()更适配多子图场景。 - 优化文件名显示:如果觉得带
.csv后缀的标题不够清爽,os.path.splitext(fName)[0]可以快速提取去掉后缀的纯文件名,让标题更简洁。 - 注意事项:记得把示例里的
ax.plot()替换成你自己的实际绘图代码(比如你原来写的df.loc[df['loo...部分)。
内容的提问来源于stack exchange,提问作者Katya
相关产品推荐
相关产品推荐

