如何使用 gnuplot 制作两个值比较图?

how to make two values comparison graph using gnuplot?

如何绘制文件中两个值的比较图(第一行 - 标题,第二行 - 值,第三行 - 不确定性):

value1 value2
6,7147 6,7131
0,0036 0,0102

获取此图表:

在 linux(bash 脚本)下,使用 gnuplot。

你的数据格式有点不对劲。在这种情况下,如果转置数据会更好。 不幸的是,gnuplot 没有内置的转置函数。因此,如果您不能使用其他一些工具转置数据,则用于绘制此数据的 gnuplot 命令会变得有点麻烦。也许有一个我目前不知道的更简单的解决方案。

接下来是您在输入格式中使用逗号作为小数点分隔符。 gnuplot 中的标准是小数点(检查 help decimalsign)。 您可以通过 set decimalsign locale "<...>" 更改它,例如frenchgerman 或其他人应该可以工作,具体取决于您安装的内容。检查以下代码示例。

代码:

### yerrorbar with row data
reset session

# data format easy for gnuplot
$Data1 <<EOD
value1  6,7147  0,0036
value2  6,7131  0,0102
EOD

# data format difficult for gnuplot
$Data2 <<EOD
value1  value2
6,7147  6,7131
0,0036  0,0102
EOD

unset key
set decimalsign locale "french"     # or "german" should also work
set xrange [0.5:2.5]

plot $Data1 u ([=10=]+1):2:3:xtic(1) w yerrorbar pt 5 lc "red" notitle

pause -1    # wait until OK pressed

plot for [i=1:2] y2=y1=NaN $Data2 u (i):(y0=y1,y1=y2,y2=column(i),y1):(y2):xtic(columnhead(i)) w yerrorbar pt 5 lc "blue"
### end of code

结果: