如何从文件中绘制两个值的比较图(第一行标题、第二行值、第三行不确定性):
value1 value2
6,7147 6,7131
0,0036 0,0102
要得到这个图表:
在linux (bash脚本)下,使用gnuplot。
发布于 2021-03-25 05:40:56
您的数据格式有点不幸。在这种情况下,如果数据被转换,情况会更好。不幸的是,gnuplot没有内置的转置功能。因此,如果您不能将数据转到其他工具中,绘制此数据的gnuplot命令就会变得有点麻烦。也许有一个更简单的解决办法,我目前还不知道。
其次,在输入格式中以逗号作为小数分隔符。Gnu图中的标准是小数点(请检查help decimalsign
)。您可以通过set decimalsign locale "<...>"
来更改它,例如,french
或german
,或者其他人应该工作,这取决于您已经安装了什么。检查下面的代码示例。
代码:
### 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 ($0+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
结果:
https://stackoverflow.com/questions/66780312
复制相似问题