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 : Baoyu@mail.ustc.edu.cn
 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來執行命令行。

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM