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

Posted bryanbao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("{} {}
".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来执行命令行。

效果如下:

技术分享图片

 

以上是关于gnuplot 带参数脚本与python脚本结合的主要内容,如果未能解决你的问题,请参考以下文章

运行带参数的python脚本

Python脚本带-的参数脚本

python 如何调用带参数的shell脚本

C#调用带参数的python脚本

PHP带参数传值调用python脚本

参数传递:shell脚本调用一个带参数的python函数