gnuplot 带参数脚本与python脚本结合

因为论文需要使用gnuplot作图,而我喜欢使用python来生成数据,所以研究了下gnuplot的带参数的脚本,这样我就可以在生成数据的同时调用gnuplot,实现的方法有很多,在这里我只讲我这种。

1 reset
2 set term png
3 set output output_fname
4 plot input_fname using 1:2 w lp pt 0 title 'data'

上面是一段简单的画折线图的gnuplot脚本,参数就是里面的output_fname和input_fname,在调用该脚本时需要在命令行中指定这两个参数,

 1 # -*- coding: utf-8 -*-
 2 '''
 3  @Time : 2018/6/28 14:41
 4  @Author : [email protected]
 5  @Site : 
 6  @File : blog.py
 7  @Software: PyCharm
 8 '''
 9 import numpy as np
10 from subprocess import Popen
11 import os
12 
13 preDir = os.getcwd()
14 env = os.environ
15 print(env)
16 print(os.get_exec_path(env))
17 a = np.random.standard_normal(10)
18 f = open(os.path.join(preDir, "data.txt"), "w")
19 for i in range(10):
20     f.write("{} {}\n".format(i, a[i]))
21 f.close()
22 
23 in_path = "\'"+os.path.join(preDir, "data.txt")+"\'"
24 out_path = "\'"+os.path.join(preDir, "data.png")+"\'"
25 cmd = ['gnuplot',
26        '-e',
27        "input_fname=" + in_path + ";output_fname=" + out_path + "",
28        os.path.join(preDir, "plot.plt")
29        ]
30 Popen(cmd)

第23行到30行就是脚本的执行过程,这里面使用了Popen来执行命令行。

效果如下:

猜你喜欢

转载自www.cnblogs.com/bryanbao/p/9238863.html