gnuplot 未解决的问题

1、从文件中读数据寻找特定点。

比如查找最小值点,具体的做法是先plot一下图,然后使用使用GPVAL_DATA_Y_MIN获得最小y值,然后再plot,并加入限定条件找到对应的x点,但是这仅仅画了一个点,然后还需要,读整个文件,以多图的形式最终画出。

 fDraw<<"set terminal post eps color solid enh"<<endl;
    fDraw<<"set xlabel 'Load Factor Multiplied by Prob'"<<endl;
    fDraw<<"set ylabel 'Partial Derivation Value'"<<endl;
    fDraw<<"set output '"+figurepath<<"'"<<endl;
    fDraw<<"plot '"+datafile+"' using 1:2"<<endl;//,'"+datafile+"'using 1:3 title 'Collision Estimator Partial Derivation' with lines"<<endl;//,'"+datafile+"'using 1:4 title 'Ideal Estimator' with lines"<<endl;
    //fDraw<<"plot '"+ENxfile+"' using 1:2 title 'Zero Estimator' with lines,'"+ENxfile+"'using 1:3 title 'One Estimator' with lines, '"+ENxfile+"'using 1:4 title 'Collision Estimator' with lines"<<endl;
    fDraw<<"min_y=GPVAL_DATA_Y_MIN"<<endl;

    fDraw<<"plot '"+datafile+"' u ($2==min_y?$1:1/0):2"<<endl;
    fDraw<<"min_x=GPVAL_DATA_X_MIN"<<endl;
    //fDraw<<"min_x=($2==min_y?$1:1/0)"<<endl;
    fDraw<<"set arrow 1 from min_x,min_y+3 to min_x,min_y+0.5 lw 0.5"<<endl;
     fDraw<<"set label 1 'min point' at min_x,min_y+4 center"<<endl;
    fDraw<<"plot '"+datafile+"' using ($2==min_y?$1:1/0):2 title 'Zero Estimator min-points' with points,'"+datafile+"' using 1:2 title 'dfasdf' with lines"<<endl;
    fDraw<<"min_pos_x=GPVAL_DATA_Y_MIN"<<endl;




上面的代码中包含箭头的设置


查看gnuplot 的参考手册发现对于最小值最大值只有X轴Y轴,没有Z轴
GPVAL_X_MIN, GPVAL_X_MAX, GPVAL_Y_MIN,GPVAL_Y_MAX那么如果数据文件有三列,我要查找第2第3列的最小值怎么办?可以先找出来min(x1,y)

和min(x2,z),然后在同一个图中画出多条曲线,代码如下

fDraw<<"plot '"+datafile+"' using ($2==min_y?$1:1/0):2 title 'Zero Estimator min-points' with points,'"+datafile+"' using 1:2 title 'Zero Estimator Partial derivation' with lines,'"+datafile+"' using ($3==min_z?$1:1/0):3 title 'Collision Estimator min-points' with points,'"+datafile+"' using 1:3 title 'Collision Estimator Partial derivation' with lines"<<endl;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值