Gnuplot:在同一图形中绘制不同重叠数据时如何设置外观优先级

Gnuplot:在同一图形中绘制不同重叠数据时如何设置外观优先级,gnuplot,Gnuplot,我正在使用normal命令在同一图形中绘制来自不同文件的数据: > plot "foo1" title1..., \ > "foo2" title2... 假设foo2中的某些点与foo1中的其他点重叠。因此,由于foo2是最后一个要绘制的,因此它的重叠数据将覆盖foo1的重叠数据(我将为它们选择不同的颜色)。现在,我需要将数据从title1排列到title2,因此我先绘制foo1,然后绘制foo2,但是我还需要来自foo1的数据显示在来自foo2的重叠数据之上 有办法做到这一点吗

我正在使用normal命令在同一图形中绘制来自不同文件的数据:

> plot "foo1" title1..., \
> "foo2" title2...
假设foo2中的某些点与foo1中的其他点重叠。因此,由于foo2是最后一个要绘制的,因此它的重叠数据将覆盖foo1的重叠数据(我将为它们选择不同的颜色)。现在,我需要将数据从title1排列到title2,因此我先绘制foo1,然后绘制foo2,但是我还需要来自foo1的数据显示在来自foo2的重叠数据之上

有办法做到这一点吗


我希望我的问题很清楚。

不幸的是,您不能直接更改数据的堆叠顺序。但是,您可以尝试以下方法(如果我正确理解您的问题):

第一个plot命令不会打印任何内容,但会向图例添加正确的标题和线条样式。(请注意,仅当x和y范围以某种方式设置时(在这种情况下,是由正在打印的其余数据设置的),打印
NaN
才有效。)第二个命令(逗号后)正常打印第二组数据。第三行在第二行的顶部绘制第一组数据,并使用
lt 1
匹配图例中条目的线型

(额外的空间正好让事情排得很好。)

将按相反的顺序列出该键

title1
title2

但是将foo1绘制在foo2之上。

我认为第二个2应该是
replot
,第一个1应该是
绘图标题“title1”
。另外,您可能想指出,只有当用户设置了明确的x和y范围时,这才有效。@mgilson:谢谢,我有点困了,无法给出一个连贯的答案。我更改了命令,使其正常工作,并添加了一条关于NaN的注释。非常感谢您的回答。那么它对积分也有效吗?因为我画的是点而不是线。
gnuplot> set key invert
gnuplot> plot x title "title2", -2*x title "title1"
title1
title2