【发布时间】:2017-04-02 20:45:30
【问题描述】:
我在 gnuplot 中遇到问题...
我正在从 1、1/2、1/3 等 y 值中离散的“线”(见附图)的数据点制作一个 splot... 在每条离散的“线”上,我想获得最大的 Z 值及其 X 和 Y 坐标,并突出显示它们,或者可能在它们上拟合一个函数等......
这是我的代码:
set title "1/m vs mutation rate"
#set term pdfcairo size 6,4
set term x11
set xlabel "Mutation rate"
set ylabel "1/m"
set xrange[0.0001:0.05]
set yrange[1.0/30:1]
unset log x
set cbrange[0:0.35]
set zrange[0:1]
set palette defined ( 0 "green", 1 "blue", 2 "red")
#set view 78,348,1,1
set view map
set output "muemmeres500map.pdf"
splot 'muemmeres500.txt' u 1:2:3 with points pt 5 ps 1 palette, "muemmeres500.txt" every 30 using ($3==GPVAL_DATA_Z_MAX?$1:NaN):($3==GPVAL_DATA_Z_MAX?$2:NaN):3 title "max1" lc rgb'black' lw 4, "muemmeres500.txt" every 30::2 using ($3==GPVAL_DATA_Z_MAX?$1:NaN):($3==GPVAL_DATA_Z_MAX?$2:NaN):3 title "max2" lc rgb'black' lw 4, "muemmeres500.txt" every 30::3 using ($3==GPVAL_DATA_Z_MAX?$1:NaN):($3==GPVAL_DATA_Z_MAX?$2:NaN):3 title "max3" lc rgb'black' lw 4, "muemmeres500.txt" every 30::4 using ($3==GPVAL_DATA_Z_MAX?$1:NaN):($3==GPVAL_DATA_Z_MAX?$2:NaN):3 title "max4" lc rgb'black' lw 4, "muemmeres500.txt" every 30::5 using ($3==GPVAL_DATA_Z_MAX?$1:NaN):($3==GPVAL_DATA_Z_MAX?$2:NaN):3 title "max5" lc rgb'black' lw 4
unset output
这里是数据文件:http://pastebin.com/umqGWtyy
正如您在图片中看到的,“lines”数据点对应于数据文件中的每一行,因此例如从第一个然后每 30 个开始的数据点对应于值为 1 的“line”,然后从第二行开始,每 30 对应 y 值为 1/2 等的“行”...
因此,我想从这些数据中获取最大 Z 值...
我也尝试过 sed,但失败了...
所以我的问题是,它只能找到全局最大值而不是其他局部最大值...:(请帮助我:)
我不知道...希望我的英语可以理解和抱歉...:)
【问题讨论】: