Gnuplot “绘图”;“有冲动”;使用输入文件中的多个字段

Gnuplot “绘图”;“有冲动”;使用输入文件中的多个字段,gnuplot,Gnuplot,“输入文件”示例: 我的x轴是示例输入文件中的10、15、20或第1列。第2-4列是我的因变量,用颜色标记。x轴是距离;y轴是脉冲信号 目标 我想要一个图表,画成“x:y带脉冲”,或类似的东西。我的输出如下所示: x = 10 15 20 green 0.90 0.07 0.05 red 0.08 0.03 0.85 blue 0.02 0.90 0.10 在x=10时,我会看到一条强度为0.90的绿色线,与强度为0.08的红色线重叠,然后是强度为0.02的

“输入文件”示例:

我的x轴是示例输入文件中的10、15、20或第1列。第2-4列是我的因变量,用颜色标记。x轴是距离;y轴是脉冲信号

目标 我想要一个图表,画成“x:y带脉冲”,或类似的东西。我的输出如下所示:

 x =     10   15   20
green   0.90 0.07 0.05
red     0.08 0.03 0.85
blue    0.02 0.90 0.10
在x=10时,我会看到一条强度为0.90的绿色线,与强度为0.08的红色线重叠,然后是强度为0.02的蓝色线。我一眼就能看出,对于x=10,我的参数是90%绿色、8%红色和2%蓝色

对于x=15,我将有一条强度为0.90的蓝色线,一条强度为0.07的绿色线,以及一条强度为0.03的红色线

对于x=20,情况类似

换句话说,我的目标是,对于给定的x值,我的三个因变量的贡献率到底是多少

问题 目前,我可以做一些类似的事情

plot "input file" u 1:4 w i lc rgb "green"
replot "input file" u 1:3 w i lc rgb "blue"
replot "input file" u 1:2 w i lc rgb "red"
不幸的是,最近的回复将重叠并掩盖之前的任何较小冲动的情节

使用这种方法,我的绘图将如下所示:

 x =     10   15   20
green   0.90 ---- ----
red     0.08 0.03 0.85
blue    ---- 0.90 ----
我只会在x=10时看到绿色,在x=15时看到蓝色。因为红色是最后一个被补色的,它重叠并覆盖了其他颜色,因为它有更大的强度。我可以在所有三个x值上完美地看到红色,但我失去了绿色和蓝色

有没有办法告诉雷波特不要掩盖以前的情节?或者是实现上述目标的替代方法

总结 我试图在每个点x处绘制一个多字段输入,同时在每个列的键中保留原始图例标签

在我的实际情况中,我有8-40个字段,跨越几百个x值,所以我不能简单地手动输入我想要的列

非常感谢您的帮助。如果gnuplot不能做到这一点,我愿意接受任何解决方案,即使是不同的软件

  set linetype 1 lc "green"
  set linetype 2 lc "red"
  set linetype 3 lc "blue"
  unset key
  set yrange [0:1]
  set style data histogram
  set style histogram cluster gap 3
  set style fill solid

  plot for [col=2:4] 'inputfile' using col:xticlabel(1)

  set linetype 1 lc "green"
  set linetype 2 lc "red"
  set linetype 3 lc "blue"
  unset key
  set yrange [0:1]
  set style data histogram
  set style histogram cluster gap 3
  set style fill solid

  plot for [col=2:4] 'inputfile' using col:xticlabel(1)