如何根据 bash 脚本中的偏移数组索引为 gnuplot 行添加标题?

How to title a gnuplot line based on offset array index in bash script?

我有一组名称和一个 csv 文件:

  name=(abc def ghi jkl)    |     1, 2, 3, 4, 5
                            |     6, 7, 8, 9, 10
  

我想通过 col1 对每个其他 col(2..5) 绘制 csv 文件,然后用数组为每一行加标题。所以列的索引和要绘制的数组是不一样的;抵消。例如:

 gnuplot < plot 'input.csv' using 1:2 t "${name[0]}" 

我试过使用 gnuplot 的 word(),也尝试过 (name, -1)(name, 1):

 gnuplot < plot 'input.csv' using 1:2 t word(name, 0)

但我总是收到以下错误:

 line 0: internal error : non-STRING argument

我确定我的数组是 space-separated,符合 word()。我不知道为什么它不识别这些名字。请并感谢您提出解决问题的任何建议...

我查看了 gnuplot documentation 并意识到 gnuplot 的 word() 只接受 space-separated STRING,而不是数组。所以我相应地转换了数组,但是在 gnuplot 环境中通过持久化它。并考虑“偏移量”,记住 word 索引是基于 1 的:

     gnuplot -persist <<-EOFMarker
             nameList="${name[*]}"
             plot for [i=2:5] 'input.csv' using 1:i t word(nameList, i-1)
     EOFMarker

图表已按要求绘制。我留下这个问题以防万一有人遇到同样的问题,尽管我很抱歉提出问题并自己回答。我希望它不违反 Whosebug 规则...