在bash脚本+ gnuplot脚本中使用Gnuplot变量而不是Bash Variable

时间:2016-05-08 20:24:23

标签: bash variables gnuplot

您好我想在bash脚本中使用gnuplot绘制smth,所以我有:

#!/bin/bash
//myscript
gnuplot -persist <<-EOFMarker
        plot 'd.csv' using 3:xtic(1) with boxes notitle, 'd.csv' using 0:($3+100):3 with labels
EOFMarker

我的问题是脚本替换($ 3 + 100)来自bash变量(没有+ 100)而不是来自gnuplot(来自第3列+ 100的每个值)..如何更改脚本以便使用来自GNUPLOT?非常感谢

2 个答案:

答案 0 :(得分:2)

它应该有效,dataType: 'text'是空的,请考虑一下:

$3

输出#!/bin/bash set a b world cat <<-EOF hello $3 EOF 。如果要将文字hello world发送到命令,则需要转义美元符号:

$3

答案 1 :(得分:1)

使用column功能,您无需关心转义:$2column(2)的快捷方式。

gnuplot -persist <<-EOFMarker
    plot 'd.csv' using 3:xtic(1) with boxes notitle, 'd.csv' using 0:(column(3)+100):3 with labels
EOFMarker

BTW:在绘制标签时,您可以使用offset选项指定偏移,例如以字符为单位:

gnuplot -persist <<-EOFMarker
    plot 'd.csv' u 0:3:xtic(1) w boxes t '', '' u 0:3:3 w labels offset 0, char 1
EOFMarker