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来执行命令行。

效果如下:

 

转载于:https://www.cnblogs.com/bryanbao/p/9238863.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值