Gnuplot-如何使用两个数组和文件中的数据进行splot

Gnuplot-如何使用两个数组和文件中的数据进行splot,gnuplot,Gnuplot,我想使用一个splot来代替传统的3列数据文件、一列数据文件和gnuplot中定义的其他两列。 我有: 但这最后一行行不通。如何指定要使用矢量中的X和Y以及文件中的Z进行绘图的位置 事先非常感谢 卡约·冈萨尔维斯(Cayo Gonçalves)好的,我明白了,我遗漏了10000套,每套22554行的信息。 由于我没有该文件,因此无法对其进行测试,但是: splot "file.txt" index i u (r1[$0+1]):(r2[$0+1]):1 w l palette 你应该做你需要的

我想使用一个splot来代替传统的3列数据文件、一列数据文件和gnuplot中定义的其他两列。 我有:

但这最后一行行不通。如何指定要使用矢量中的X和Y以及文件中的Z进行绘图的位置

事先非常感谢


卡约·冈萨尔维斯(Cayo Gonçalves)

好的,我明白了,我遗漏了10000套,每套22554行的信息。 由于我没有该文件,因此无法对其进行测试,但是:

splot "file.txt" index i u (r1[$0+1]):(r2[$0+1]):1 w l palette
你应该做你需要的。
$0
是一个伪列,返回(子)块(由索引寻址)的行号(从0开始)。用这个数字为数组编制索引(从1开始)。同时检查
帮助伪列

添加:

实际上,您不需要事先创建数组。您可以简单地使用公式从行号(
$0
)获取X和Y值。请记住,在gnuplot中,如果两个数字都是整数,那么
/
将是整数除法。然而,我使用的是
int(n/RowCount)


您的
文件.txt
看起来怎么样?1000行还是10000行?有或没有双空行?请描述您的
文件.txt的结构或给出几行示例。文件的哪一行应该与哪个x和y值一起使用?此文件有10000组22554行,共1列。每组由两条空行分隔。我想为每个集合(索引)创建一个png文件。我的X是r1,Y是r2,Z是我从文件中获取的22554行。这组r1:r2:(文件的第一列)为每个索引定义了我的网格网格。你好,Theozh,非常感谢你的帮助。使用$0确实有效。你的第二个例子不起作用,我想是因为这个变量'n'没有定义。您能解释一下XValue(n)=n%ColCount的作用吗?您收到了什么错误消息
n
是函数
XValue(n)
的变量,稍后在绘图中,您为
n
输入
$0
%
是模运算符(除以
ColCount
时的余数)。检查
help operators binary
。哦,我明白了。显然,行号
$0
不是整数。替换公式:
XValue(n)=int(n)%ColCount
,它应该可以工作。很高兴听到这个消息。别忘了把你的问题标记为已解决,即我的答案是可接受的和有用的;-)。
splot "file.txt" index i u (r1[$0+1]):(r2[$0+1]):1 w l palette
SetCount = 10000
RowCount = 179
ColCount = 126
XValue(n) = int(n)%ColCount
YValue(n) = int(n/RowCount)

do for [i=1:SetCount:10] {
    j=i/10
    outfile = sprintf('pop%06.0f.png',j)
    set output outfile
    splot "file.txt" index i u (XValue($0)):(YValue($0)):1 w l palette
}