我有python脚本,其输入参数为最小和最大y范围,我想相应地绘制图形
test.py -m miny -i maxy
在python脚本中 gnuplotcmds.append('set yrange [miny:maxy]')
我的问题是,如何在gnuplot命令中使用变量限制,因为在运行此行时它始终读取miny和maxy作为字符串而不是变量?
答案 0 :(得分:2)
如果miny
和maxy
是python变量,则必须使用类似
gnuplotcmds.append('set yrange[{0}:{1}]'.format(miny, maxy)
如果你想要一个紧凑的yrange,你也可以使用
gnuplotcmds.append('set autoscale yfix')
答案 1 :(得分:0)
首先,您必须在python中解析命令行中的值:
import sys
miny=0.0
maxy=0.0
for i in len(sys.argv)-1:
if(sys.argv[i] == "-m"):
miny=float(sys.argv[i+1])
if(sys.argv[i] == "-i"):
maxy=float(sys.argv[i+1]
这是一种非常简单的方法,但它不会检查您的参数。例如,如果命令行中-i
后没有数字,则会遇到麻烦。有更复杂的方法,比如getopts
模块,但是现在,这段代码完成了这项工作。
正如在Christhoph的回答中,您现在可以使用
gnuplotcmds.append('set yrange[{0}:{1}]'.format(miny, maxy)