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

如何用gnuplot在同一图表中绘制多数据文件的折线图?

问题根源与解决办法

问题出在数据分隔符设置错误:你使用的是TSV(制表符分隔)格式的数据源,但命令里设置了set datafile sep ' '(空格分隔)。同时加载两个文件时,gnuplot无法正确解析制表符分隔的列,导致时间列被错误识别为相同值(或无法解析为有效时间),最终折线呈现为水平线。

修正步骤

  • 将数据分隔符改为制表符:
    set datafile sep '\t'
    
  • 如果文件存在空格与制表符混合的情况,可设置让gnuplot自动识别任意空白字符作为分隔符:
    set datafile sep whitespace
    

修正后的完整命令

set terminal qt size 1300,600
set grid
set mxtics 4
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set datafile sep '\t'  # 修正为制表符分隔
set xtics format "%F %R" rotate
plot "output1.tsv" using 1:3 title "computer A" with lines,\
  "output0.tsv" using 1:3 title "computer B" with lines

单独绘制时能正常运行的原因是:单个文件的列之间可能没有额外空格,gnuplot误打误撞解析对了列位置;但同时加载两个文件时,解析逻辑冲突,导致时间列识别失败,所有数据点都被映射到同一个x轴位置,看起来就是水平线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 19:40:00