如何在python中自动缩放gnuplot的Y范围
我有一个python脚本,我编写了一个.gnu文件,它绘制了一个.png文件。我试图通过将范围设置为最大值和最小值的5%,使Y范围更具动态性 我做错了什么 此代码不会像这样运行如何在python中自动缩放gnuplot的Y范围,gnuplot,Gnuplot,我有一个python脚本,我编写了一个.gnu文件,它绘制了一个.png文件。我试图通过将范围设置为最大值和最小值的5%,使Y范围更具动态性 我做错了什么 此代码不会像这样运行 #-- write out .gnu file self.output = textwrap.dedent('''\ set terminal png size 800,600 set output "{0}" set grid set xlabel "Cycle"
#-- write out .gnu file
self.output = textwrap.dedent('''\
set terminal png size 800,600
set output "{0}"
set grid
set xlabel "Cycle"
set title "{1}"
set xtics ({2})
set yrange[GPVAL_Y_MIN:GPVAL_Y_MAX]
plot ''').format(self.figurename, self.title, ",".join(plot_data.keys()), self.styletype, self.datafile)
for n in range(0,max_num_lines):
tmp_str = " ".join(['"{2}"','using','1:'+str(n+2),'title',"'"+self.titles[n+1]+"'",'w linespoints {1}']).format(self.figurename, self.linecombos[n], self.datafile)
if n!=max(range(0,max_num_lines)):
tmp_str += ", "
self.output += tmp_str
pass
内部变量
GPVAL_Y_MIN
/GPVAL_Y_MAX
在实际绘图之前不会初始化。为了避免这种情况,您可以使用stats
命令来分析文件,并通过stats\u min\u y
/stats\u max\u y
变量提供所需的最小/最大值:
self.output = textwrap.dedent('''\
set terminal png size 800,600
set output "{0}"
set grid
set xlabel "Cycle"
set title "{1}"
set xtics ({2})
#analyze the file and adjust y-range
stats "{3}" nooutput
set yrange[STATS_min_y:STATS_max_y]
plot ''').format(self.figurename, self.title, ",".join(plot_data.keys()), self.styletype, self.datafile)