如何使用gnuplot在一个图中绘制具有不同x范围的折线图

时间:2015-10-26 02:02:47

标签: gnuplot

我有一个包含3列的数据集。例如

ifile.txt
1     4    3
2     2    5
3     4    7
4     6    7
5     9    6
6     0    8
7     3    4
8     3    4
9     2    4
.     .    .
.     .    .

我想在x-range [3:7]中使用1:2绘制一行,在同一图中使用x-range [5:9]使用1:3绘制另一行

我试图在plot命令中修改,但无法做到。

plot\
 'ifile.txt' using 1:2 with xr [3:7],\
 'ifile.txt' using 1:3 with xr [5:9]

2 个答案:

答案 0 :(得分:3)

通常,如果两个图都需要一个通用的x轴,则必须过滤using语句中的数据,并将所需范围之外的所有数据点设为无效值1/0

f(value, left, right) = (value < left || value > right ? 1/0 : value)

plot 'ifile.txt' using (f($1, 3, 7)):2,\
     '' using (f($1, 5, 9)):3

答案 1 :(得分:1)

您需要分别设置轴和抽搐。这应该可以帮到你:

set xrange  [3:7]
set x2range [5:9]
set x2tics  5, 1
set yrange  [3:10]
set y2range [3:10]
set y2tics  4, 9, 1

plot 'ifile.txt' u 1:2 axes x1y1, 'ifile.txt' u 1:3 axes x2y1 w lp

enter image description here