Gnuplot无需绘图仅读取指定列文件数据的实现方法咨询
Gnuplot提取指定列输出到新文件的实现方案
方法1:使用table输出(最简方案,无需手动循环)
该方案仅用到数据提取逻辑,不会触发任何绘图操作,无需额外编写读取代码:
# 设置输出文件路径 set table "output.txt" # 配置输出无额外表头、分隔符为空格,可根据需求调整分隔符为\t等 set table separator " " noheader # 替换为你的原数据文件名,指定读取第1、3列输出 plot "你的原数据文件名" using 1:3 with points # 关闭table输出 unset table
注:若需要自定义表头,可在
set table后先手动执行print "# X Y"输出表头即可。
方法2:数组读取后循环输出(适配你现有代码逻辑)
如果要沿用你已掌握的set print循环写法,可先将原文件列读取到数组后处理:
# 定义存储指定列的数组,长度匹配你文件的50行 array col1[50] array col3[50] # 读取原文件第1、3列到对应数组,替换为你的实际文件名 stats "你的原数据文件名" using (col1[$0+1]=$1, col3[$0+1]=$3, 0) nooutput # 沿用你的原有输出逻辑 set print "name.txt" print "# X Y" do for [i=1:50] { print col1[i], col3[i] } set print
注意事项
- 所有代码中的
你的原数据文件名请替换为你的实际数据文件路径 - 若你的数据文件包含表头行,可在读取命令后添加
skip 1参数跳过首行,示例:plot "data.txt" using 1:3 skip 1 with points
内容的提问来源于stack exchange,提问作者Billy Remake
相关产品推荐
相关产品推荐

