不使用bash或awk脚本在gnuplot中绘制errobar

不使用bash或awk脚本在gnuplot中绘制errobar,bash,gnuplot,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

我有以下格式的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   

发布bash脚本和您想要的输出。你喜欢使用
awk
还是只使用
gnuplot
(你添加了
awk
标签)我可以用awk来做。但我喜欢使用gnuplot onlyOk,然后删除
awk
标记。@Jotne我添加了bash脚本并输出了所需的平均值,您可以使用
smooth unique
,但一般来说,您无法用相同的x值计算y值的标准偏差。
stats
命令使用整个数据集。为什么不想使用bash脚本?如果它只用于临时文件,请考虑使用<代码>图'Bash MyScript…SH…< /代码>
number,mean,std-deviation
1,1.267,0.034
2,1.567,0.012
.....
.....1500 lines