如何使用 gnuplot 在一个图中绘制具有不同 x 范围的折线图
How to plot line graphs with different x-range in one figure using 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
. . .
. . .
我想在同一图中使用 1:2 和 x 范围 [3:7] 绘制一条线,另一条线使用 1:3 和 x 范围 [5:9] 绘制
我试图在 plot 命令中进行修改,但是做不到。
plot\
'ifile.txt' using 1:2 with xr [3:7],\
'ifile.txt' using 1:3 with xr [5:9]
您需要分别设置轴和控制点。这应该可以帮助您完成:
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
通常,如果两个图需要一个共同的x轴,则必须过滤using
语句中的数据,并为所有超出所需范围的数据点赋予无效值,1/0
:
f(value, left, right) = (value < left || value > right ? 1/0 : value)
plot 'ifile.txt' using (f(, 3, 7)):2,\
'' using (f(, 5, 9)):3
我有一个包含 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
. . .
. . .
我想在同一图中使用 1:2 和 x 范围 [3:7] 绘制一条线,另一条线使用 1:3 和 x 范围 [5:9] 绘制
我试图在 plot 命令中进行修改,但是做不到。
plot\
'ifile.txt' using 1:2 with xr [3:7],\
'ifile.txt' using 1:3 with xr [5:9]
您需要分别设置轴和控制点。这应该可以帮助您完成:
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
通常,如果两个图需要一个共同的x轴,则必须过滤using
语句中的数据,并为所有超出所需范围的数据点赋予无效值,1/0
:
f(value, left, right) = (value < left || value > right ? 1/0 : value)
plot 'ifile.txt' using (f(, 3, 7)):2,\
'' using (f(, 5, 9)):3