【问题标题】:Gnuplot: Aligning several graphsGnuplot:对齐多个图表
【发布时间】:2014-11-16 22:42:42
【问题描述】:

我有两个时域信号。现在我想在单个图中绘制信号 1 的 10..20 秒范围和信号 2 的 12...22 秒范围。但是,我尝试过这种方式,但失败了:

plot [10:20] 'signal1.txt' using 1:2 with line lt -1 lw 1 fc rgb "black" title 'Signal 1',\
 [12:22] 'signal2.txt' using 1:2 with line lt -1 lw 1 fc rgb "black" title 'Signal 2'

gnuplot 对第二个范围定义 ([12:22]) 表示“无效表达式”。

有什么想法吗?

【问题讨论】:

  • 您能否更具体地说明它失败的方式?您能否展示您的数据的代表性样本?
  • gnuplot 对第二个范围定义 ([12:22]) 表示“无效表达式”。
  • 您是否需要准确地指定每个轴的范围,或者您是否愿意让 gnuplot 为您计算范围?您可以使用ytics autofreqy2tics autofreq 执行后者。

标签: gnuplot


【解决方案1】:

如果有人尝试

plot [3:6] sin(x), [-2:8] cos(x)

很容易意识到唯一重要的间隔是第一个。

为了实现他/她的意图,OP 可能会重复使用外部程序或使用类似的东西

set xrange [-10:10]
plot x<3?1/0:x<=6?sin(x):1/0, x<-2?1/0:x<=8?cos(x):1/0

外部程序可以只是一个利用awk 过滤不感兴趣横坐标的shell 脚本。

将我的提案映射到 OP 要求相对容易

plot 's1' using 1:($1<10?1/0:$1<=20?$2:1/0) w l, 's2' using 1:($1<14?1/0:$1<=22?$2:1/0) w 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    相关资源
    最近更新 更多