在不使用bash或awk脚本的情况下绘制gnuplot中的errobar

时间:2014-02-10 05:38:35

标签: bash gnuplot

我有以下格式的csv数据

1,1.234
1,1.35
1,1.194
2,1.673
2,1.674
2,1.573

我想使用均值和标准差在gnuplot中为以下数据绘制错误列 仅使用gpt脚本。我使用bash脚本绘制了这个图,该脚本计算另一个临时csv文件的平均值和标准偏差并绘制错误栏。

修改
脚本 这是我使用的bash脚本

#! /bin/bash
iteration=1500
rerun=3
mean=0
sum=0
i=0
j=1
count=1
while read -ra f
do
  if [ $i -eq $rerun ];
  then
    i=0
    mean=$(echo "scale=5; $mean/$rerun"|bc)
    std=$(echo "scale=5; sqrt($sum/$rerun - $mean*$mean)"|bc)
    echo $j,$mean,$std >>temp.csv
    mean=0
    sum=0
    j=$(($j+1))
  fi
  f=($(echo $f | tr ',' ' '))
  mean=$( echo "scale=5; ${f[1]}+$mean" | bc)
  sum=`echo "scale=5; ${f[1]}*${f[1]}+$sum"| bc`
  i=$(($i+1))
done < input.csv
mean=$(echo "scale=5; $mean/$rerun"|bc)
std=$(echo "scale=5; sqrt($sum/$rerun - $mean*$mean)"|bc)
echo $j,$mean,$std >>temp.csv   

输出 这不是实际输出,但是这个和实际输出的格式是相同的

number,mean,std-deviation
1,1.267,0.034
2,1.567,0.012
.....
.....1500 lines

0 个答案:

没有答案