【问题标题】:gnuplot 3D fence plot from multiple 2D datafiles with zerrorfill使用 zerrorfill 来自多个 2D 数据文件的 gnuplot 3D 围栏图
【发布时间】:2020-09-10 18:49:14
【问题描述】:

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

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

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

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

z_index='1 2 3'

然后我可以绘制,以便每个数据文件对应不同的 z 值

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

see the plot

但是,我想使用带有透明度的 zerrorfill 来做同样的事情,因为 Filledcurve 不允许我以直接的方式做到这一点。

我从手册中知道栅栏图是由带有 zerrorfill 的 splot 使用输入列 i y z_base z_base Fi(y) 生成的,但我不明白如何传输我的代码来填充 zerrorfill 语法。

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

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

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

    您没有准确解释二维数据文件中的 y 值。我将假设第 2 列中的单个 y 值和一个填充 y=0 和 y=column(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
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多