You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取分块.dat文件绘制10组7折线图表的方法咨询

Python读取.dat文件并批量绘制折线图实现方案

依赖安装

先安装需要的第三方库,在终端执行命令:
pip install numpy matplotlib

核心实现思路

  • 读取文件时先过滤所有空行,解决数据块之间空行分隔的问题,过滤后总计70行有效数据,每连续7行对应1个数据块、匹配1张待生成的图表
  • 直接生成1到100区间均匀分布的100个数值作为统一的X轴坐标
  • 逐块解析数据:每行按分隔符拆分后,第1个元素作为折线的图例标签,第2到101个元素转换为浮点型作为该折线的Y轴序列
  • 每个数据块单独创建独立画布,绘制7条折线后添加图例、坐标轴标注,按需保存或展示图表

完整可运行代码

import numpy as np
import matplotlib.pyplot as plt

# -------------------------- 配置项 可根据实际情况修改 --------------------------
DATA_FILE_PATH = "your_data.dat"  # 替换为你的.dat文件实际路径
SAVE_FIG = True  # True为保存图片到本地,False为弹窗直接显示
# -----------------------------------------------------------------------------

# 读取文件并过滤空行
with open(DATA_FILE_PATH, "r", encoding="utf-8") as f:
    valid_lines = [line.strip() for line in f.readlines() if line.strip()]

# 校验数据行数是否符合规则
if len(valid_lines) != 70:
    raise ValueError(f"数据格式异常,预期有效数据70行,实际读取到{len(valid_lines)}行,请检查文件")

# 生成X轴数据:1-100均匀分布的100个点
x = np.linspace(1, 100, 100)

# 逐块处理数据并绘图
for block_id in range(10):
    # 提取当前块对应的7行数据
    current_block = valid_lines[block_id*7 : (block_id+1)*7]
    # 创建独立画布
    plt.figure(figsize=(10, 6), dpi=120)
    # 逐行绘制折线
    for raw_line in current_block:
        items = raw_line.split()  # 如果是逗号分隔就改成 split(',')
        label = items[0]
        y_data = [float(val) for val in items[1:101]]
        plt.plot(x, y_data, label=label)
    # 添加图表标注
    plt.xlabel("X value")
    plt.ylabel("Y value")
    plt.title(f"Line Chart - Group {block_id+1}")
    plt.legend()
    plt.grid(alpha=0.3)
    # 输出图表
    if SAVE_FIG:
        plt.savefig(f"chart_group_{block_id+1}.png", bbox_inches="tight")
    else:
        plt.show()
    # 关闭画布释放内存
    plt.close()

使用注意事项

  • 运行前将代码里DATA_FILE_PATH的值替换为你自己的.dat文件的绝对/相对路径
  • 默认按空白符(空格、制表符)分割列,如果你的文件用其他符号分隔(比如逗号),修改raw_line.split()的入参即可
  • 代码默认将10张图表以png格式保存在脚本运行的同级目录,如果需要弹窗预览图表,把SAVE_FIG改为False即可
  • 如果文件中存在缺失值、非数值内容,需要在转float的步骤前增加异常值过滤逻辑,避免运行报错

内容的提问来源于stack exchange,提问作者engineeringstudent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:54:31