`
hankgong
  • 浏览: 199587 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Python中用popen调用gnuplot画图

阅读更多

 

cmd = ''
cmd += "set terminal png\n"
    
cmd += "set output 'rate_avg_" +name+ ".png'\n"
cmd += "p '" +name+   "_avg.log' u " + str(xyconv((1,2),3)+1) + "w lp t '1->2(avg)'," 
cmd +=   "'" +name+   "_inst.log' u " + str(xyconv((1,2),3)+1) + "w lp t '1->2(inst)'," 

cmd +=   "'" +name+   "_avg.log' u " + str(xyconv((2,3),3)+1) + "w lp t '2->3(avg)',"
cmd +=   "'" +name+   "_inst.log' u " + str(xyconv((2,3),3)+1) + "w lp t '2->3(inst)',"

cmd +=   "'" +name+   "_avg.log' u " + str(xyconv((3,1),3)+1) + "w lp t '3->1(avg)',"
cmd +=   "'" +name+   "_inst.log' u " + str(xyconv((3,1),3)+1) + "w lp t '3->1(inst)'\n"

gp=os.popen('gnuplot', 'w')
gp.write(cmd)
gp.flush()

这几天我在做仿真,就用python写了一个script来自动运行多次实验,并且生成png的图像。

我只会用gnuplot来画图,python有一个gunuplot的库(gnuplot.py)可以对在python中生成的数据来画图,但是我的图像是存成trace文件的,要用这个库要读出trace反而麻烦了。于是我就看了看gnuplot.py的源代码,原来他调用gnuplot的方式是popen。

 

以上的程序就是用了gnuplot.py的方法,然后程序中画图的一段。如果你要是用过gnuplot大概一看就明白了。

 

后来想到其实也有个更简单的方法,就是写好一个gnuplot的script然后每次用os.system来调用也是可以的,但这样灵活性就差一点。当然也可以用python来生成gnuplot的script然后再用os.system来调用,方法反正很多的了!

 

分享到:
评论
2 楼 hankgong 2010-06-21  
说的是没错,matplotlib据说现在速度也很快了,我记得它刚出来的时候我用过,那时候速度真是有点没法忍受。matplotlib画图的风格类似matlab,好像还能写latex格式的公式,以后有空的时候用用!
1 楼 fixsmall 2010-06-19  
python 有一个绘图库:matplotlib,功能很强大,绘制的图形质量也不错。

相关推荐

    python调用shell命令

    本文将详细介绍如何使用Python来调用Shell命令,并重点介绍`os.popen()`与`os.system()`两种方法的区别及其应用场景。 #### 二、基础知识 1. **Python中的os模块**:`os`是Python的标准库之一,提供了与操作系统...

    python 打印信息重定向 GUI界面 ,PyQt5实时显示调用外部程序的实时输出显示,subprocess.Popen stdout输出重定向,备注详细!

    python 打印信息重定向 GUI界面 ,PyQt5实时显示调用外部程序的实时输出显示,subprocess.Popen stdout输出重定向,备注详细!

    python控制台输入密码

    python控制台输入密码,控制台输入密码变成`*`,支持删除等操作.

    Linux下使用python调用top命令获得CPU利用率

    本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 复制代码 代码如下: top -bi > cpuHistory.log 或 复制代码 代码...

    Python如何通过subprocess调用adb命令详解

    当我们需要在Python脚本中调用ADB命令时,可以借助内置的`subprocess`模块。本文将详细讲解如何使用Python的`subprocess`模块调用ADB命令。 `subprocess`模块是Python标准库的一部分,用于启动新的进程、连接到它们...

    Linux下使用popen()执行shell命令.docx

    popen() 函数通过创建一个管道,调用 fork() 产生一个子进程,执行一个 shell 以运行指令来开启一个进程。这个管道必需由 pclose() 函数关闭,而不是 fclose() 函数。 popen() 函数的原型为 `FILE *popen(const ...

    ffmpeg python可调用

    在 Python 中调用 FFmpeg 通常就是通过 `subprocess` 模块的 `Popen` 或 `check_output` 函数实现。 2. **FFmpeg 命令行参数**: 在调用 FFmpeg 之前,需要了解 FFmpeg 的命令行参数。例如,`-i` 参数用于指定输入...

    Python调用shell命令常用方法(4种)

    ### Python调用Shell命令的四种常见方法 #### 方法一:使用`os`模块的`system`方法 在Python中,`os`模块提供了一系列与操作系统交互的接口,其中包括`system`函数,它允许我们直接执行Shell命令。此方法简单易用...

    对Python subprocess.Popen子进程管道阻塞详解

    Python是广泛使用的高级编程语言,它内置了丰富的库,可以用来进行系统调用和管理子进程。subprocess模块是Python用来替代旧的os.system, popen2和commands模块的,它允许你从Python程序中启动新的进程,连接到它们...

    002_Visual Studio (gnuplot)显示数组波形.zip

    在C++项目中,我们可以通过调用gnuplot的API或者执行gnuplot脚本来绘制图形。"gp526-win64-mingw_2.exe"是gnuplot的Windows 64位版本,用于在本地运行gnuplot服务。 在实际操作中,首先需要确保你的系统已经安装了...

    python 调用系统命令【python如何调用系统命令】.docx

    ### Python调用系统命令详解 #### 一、引言 在Python编程中,有时我们需要让程序与操作系统进行交互,比如执行一些系统级别的命令。这在自动化脚本编写、系统管理和测试等方面非常有用。Python提供了多种方式来实现...

    在python 中实现运行多条shell命令

    在Python编程中,有时我们需要调用系统的Shell命令来完成特定的任务,比如文件操作、系统管理等。本文将详细介绍如何在Python中执行多条Shell命令,并探讨不同的实现方法及其优缺点。 #### 一、使用`subprocess`...

    Python调用jar包方法实现过程解析

    ### Python调用jar包方法实现过程解析 #### 一、背景与需求 在软件开发过程中,经常需要在不同编程语言之间进行交互。特别是在混合技术栈的项目中,开发者可能会遇到需要利用Java编写的库或工具的情况,而这些库或...

    Python怎么调用系统命令.docx

    以上介绍了几种在Python中调用系统命令的方法,包括`os.system()`、`wx.Execute()`、`subprocess`模块、`webbrowser.open()`以及`os.popen()`。每种方法都有其适用场景和特点。在实际应用中,可以根据具体需求选择最...

    python调用shell脚本

    综上所述,Python调用shell脚本涉及的知识点包括:`os`模块的`system()`函数,`subprocess`模块的`run()`、`check_output()`和`Popen()`,以及如何处理安全问题。理解并熟练运用这些工具,能让你在Python中更有效地...

    python实现调用其他python脚本的方法

    在Python编程中,有时我们需要在一个脚本中调用或执行其他Python脚本来完成特定任务,例如模块化代码、实现复杂的流程控制或者复用已有的功能。本文将详细讲解如何在Python中实现这样的调用。 首先,我们可以使用...

    python Popen 获取输出,等待运行完成示例

    标题中的“Python Popen 获取输出,等待运行完成示例”涉及Python中的subprocess模块,以及该模块中Popen类的使用方法。Popen类是subprocess模块提供的用于创建子进程的类,它允许用户执行外部命令,并与这些外部命令...

    python调用tcpdump抓包过滤的方法

    本文将详细讲解如何使用Python调用tcpdump进行抓包过滤,并提供了一个简单的示例代码。 tcpdump是一个强大的网络封包分析软件,它可以实时捕获网络中的数据包并进行分析。在Python中调用tcpdump,主要是通过`...

Global site tag (gtag.js) - Google Analytics