1. 程式人生 > >gnuplot 帶參數腳本與python腳本結合

gnuplot 帶參數腳本與python腳本結合

lose 命令行 numpy utf-8 RoCE bsp () 令行 線圖

因為論文需要使用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來執行命令行。

效果如下:

技術分享圖片

gnuplot 帶參數腳本與python腳本結合