使用zerrorfill从多个2D数据文件绘制gnuplot 3D围栏图

使用zerrorfill从多个2D数据文件绘制gnuplot 3D围栏图,plot,gnuplot,Plot,Gnuplot,我目前正在gnuplot围栏图中绘制多个二维(x,y)数据文件 我已经创建了一个包含所有文件的列表 list='file1.dat file2.dat file3.dat' 以这种方式添加第三个轴的z值 z_index='1 2 3' 然后,我能够进行绘图,使每个数据文件对应不同的z值 splot for[i=1:words(list)]word(list,i)u(real(word(z_索引,i)):($1):($2)w l 但是,我想使用zerrorfill和透明来做同样的事情,因为Fil

我目前正在gnuplot围栏图中绘制多个二维(x,y)数据文件

我已经创建了一个包含所有文件的列表

list='file1.dat file2.dat file3.dat'

以这种方式添加第三个轴的z值

z_index='1 2 3'

然后,我能够进行绘图,使每个数据文件对应不同的z值

splot for[i=1:words(list)]word(list,i)u(real(word(z_索引,i)):($1):($2)w l

但是,我想使用zerrorfill和透明来做同样的事情,因为Filled Curve不允许我以一种简单的方式来做

我从手册中了解到,splot使用zerrorfill使用输入列
I y z_base z_base Fi(y)
生成围栏图,但我不知道如何传输我的代码来填充zerrorfill语法


有解决办法吗?请评论代码将不胜感激

如果您的gnuplot足够新,可以使用打印样式“zerrorfill”,那么它也足够新,可以使用数组。我建议使用数组作为文件名和y(而不是z)索引比使用“word(string,I)”更容易阅读

您无法准确解释二维数据文件中的y值。我将在第2列中假设一个y值,并在y=0和y=列(2)之间填充一个围栏图,但对于3D图,我们将对z而不是y使用它

array file[3] = ["file1.dat", "file2.dat", "file3.dat"]
array y_index[3] = [1, 2, 3]
set zrange [0:*]
set xyplane 0

splot for [k=1:3] file[k] using 1:(y_index[k]):2:(0):2 with zerrorfill \
      linetype k fillstyle transparent solid 0.5