如何使用Python在单个图表中绘制多个文件的数据?
使用Python读取多文件数据并绘制单个图表
我们可以用pandas高效读取多文件数据,结合matplotlib完成单图绘制,下面是具体实现方案:
核心步骤
- 整理待读取的文件路径列表(支持CSV、Excel等常见格式)
- 遍历文件列表,逐个加载数据
- 在同一个绘图对象上依次绘制每个文件的数据集
- 添加标题、坐标轴标签、图例等元素,让图表更直观
完整示例代码
假设你的数据文件是CSV格式,每个文件包含x(横轴数据)和y(纵轴数据)两列,代码如下:
import pandas as pd import matplotlib.pyplot as plt # 替换成你的实际文件路径列表 file_paths = [ "./data/sample1.csv", "./data/sample2.csv", "./data/sample3.csv" ] # 创建绘图画布 plt.figure(figsize=(10, 6)) # 遍历文件并绘图 for file_path in file_paths: # 读取CSV文件,可根据实际格式调整sep、header等参数 df = pd.read_csv(file_path) # 提取文件名作为图例标签 label = file_path.split("/")[-1].split(".")[0] # 绘制折线图,可按需替换为散点图(plt.scatter)、柱状图(plt.bar)等 plt.plot(df["x"], df["y"], label=label, marker="o") # 配置图表样式 plt.title("多文件数据对比") plt.xlabel("X轴") plt.ylabel("Y轴") plt.legend() # 显示图例 plt.grid(True, alpha=0.3) # 添加网格线增强可读性 # 展示图表 plt.show()
灵活调整说明
- 若文件是Excel格式,将
pd.read_csv替换为pd.read_excel即可 - 若不同文件列名不一致,可在循环内重命名列:
df.rename(columns={"原x列名": "x", "原y列名": "y"}, inplace=True) - 可通过修改
marker、linestyle、color参数,让不同文件的曲线更易区分
内容的提问来源于stack exchange,提问作者tejasva vashistha
相关产品推荐
相关产品推荐

