一款好用的绘图软件gnuplot
漂亮的图片在一篇报告中是必不可少的。这里推荐一款绘图软件Gnuplot。 Gnuplot是一种免费分发的绘图工具,可以移植到各种主流平台,无论是在Linux还是在Windows都易于安装使用。最新的版本可以到http://www.gnuplot.info/上下载。本文中的例子在Win7系统上gnuplot5.0.5测试可用。这不是细致全能的教程,但是说明了关键位置的处理办法,可以很好地避免学习和使用过程中多走弯路。
1、开始吧
gnuplot是基于命令行的交互式绘图软件。打开一个终端,输入gnuplot,随着程序启动,会出现下面的信息,(如果是在Windows电脑上,双击gnuplot.exe后会自动打开该命令行窗口):
这里包含gnuplot的版本、系统、版权等信息。Terminal type 即使用的方式输出图片。这里默认的terminal是wxt,也就是直接输出到电脑屏幕上。gnuplot支持N多种terminal,没必要都记住。用到哪个现查好了,后续会提到两种。
提示信息之后,是gnuplot的提示符:
gnuplot>
在提示符之后输入各种命令,就可以开始画图了。
如果要退出程序,只需要输入quit或者exit命令。
gnuplot可以下列两种模式之一进行操作:当需要调整和修饰图表使其正常显示时,通过在 gnuplot 提示符中发出命令,可以在交互模式下操作该工具。或者,gnuplot 可以从文件读取命令,以批处理模式生成图表。将拓展名更改为 fileName.plt 就可以将命令保存下来方便重现和更改,因此这也是主要的方式。
2、画一张图
看一个例子。'pic-1.plt'中的代码内容:
set encoding utf8
set terminal pdfcairo enhanced size 4in,3in font "Times New Roman,12"
set output "pic1.pdf"
set tics nomirror
set xtics norangelimit
set key box inside
set key at 2.5, 0.95
set xlabel 'time'
set ylabel 'velocity'
plot "data.txt" using 1:2 with lines ls 1 lw 2 title "pos1", \
"" using 1:3 with linespoints ls 2 lw 1 pointtype 12 ps 1 title "pos2", \
replot
reset
print "Done!"
'data.txt'中的数据内容:
1 0.2893 0.3061
2 0.3636 0.2857
3 0.2562 0.2041
4 0.1983 0.1633
5 0.4463 0.5714
6 0.6033 0.5714
7 0.9008 0.8571
8 0.2727 0.5714
9 0.7355 0.8367
10 0.1322 0.1837
set是gnuplot中的设置命令,因此我们常常在文尾写上reset来恢复到默认设置,防止对后续生成的图片产生影响。
第1行设置了编码格式,
第2行设置了以PDF的格式输出,设置了图片大小及其中的字体,
第3行设置了输出文件的名称。
第4行设置坐标标记不做镜像处理,其实没有用到。
第5行设置坐标标记不受range的限制。
更多关于绘图环境参数的设置可以参考:http://blog.csdn.net/liyuanbhu/article/details/8502461。
一般绘一图形后,gnuplot将函数名称或图形名称置于右上角。key 参数设定可改变名称放置位置。
第6、7行设置了名称摆放的位置在坐标 x,y 上。
第8、9行设置了坐标轴的标示。
第9行利用数据中的第一列和第二列画线不标出原数据点,ls 1 lw 2 即linestyle 1 linewidth 2,标示的为"pos1"。
第9行利用数据中的第一列和第三列画线标出原数据点的线型,with linespoints ls 2 lw 1 即linestyle 2 linewidth 1,标示的为"pos2"。
这里使用了简写,在点线类型设置时常用的简写还有:
plot sin(x) with line linetype 1 linewidth 2
即plot sin(x) w l lt 1 lw 2
plot sin(x) with point pointtype 2 pointsize 2
或plot sin(x) w p pt 2 ps 2
更多的点线风格可以输入test查看然后进行选择。
最后,只需要load一下就好了。如果读取数据有问题估计是没有变更目录。
gnuplot> cd "d:/..."
gnuplot> load "pic-1.plt"
运行结果:
3、再一张图
除了pdf格式的图片,我们有时还需要emf格式的矢量图方便在MS Office中使用,所以有了例2。
'pic-2.plt'中的代码内容:
# set terminal pngcairo transparent enhanced font "arial,10" fontscale 1.0 size 600, 400
# set output 'histograms.2.png'
set encoding default
set terminal emf size 800,600 font "Times New Roman,12"
set output "pic2.emf"
set boxwidth 0.9 absolute
set style fill solid 1.00 border lt -1
set key inside right top vertical Right noreverse noenhanced autotitle nobox
set style histogram clustered gap 1 title textcolor lt -1
set minussign
# set datafile missing '-'
set style data histograms
set xtics border in scale 0,0 nomirror rotate by -45 autojustify
set xtics norangelimit
set xtics ()
set xlabel '时间'
set ylabel '速度'
plot 'data.txt' using 2:xtic(1) ti col , '' u 3 ti col
reset
print "Done!"
'data.txt'中数据内容:
时间 位置1 位置2
1 0.4824 0.4845
2 0.5941 0.5876
3 0.8882 0.9175
4 0.3588 0.7423
5 0.7647 0.6186
6 0.1471 0.1546
运行结果:
4、寻求帮助
例2是不是有的命令没明白,自带的help完全够。如果遇到本文没有涉及的其他问题基本都可以在这找到答案。
gnuplot>help
例如之前的set tics 等等。
5、拓展
一些基础的问题我会从这里面翻阅,笔记的年份虽早但简明且图文并茂。
http://blog.sciencenet.cn/blog-373392-495870.html
遇到新的问题还是会从官网的demo里面找灵感。
http://gnuplot.sourceforge.net/demo/
一款好用的绘图软件gnuplot的更多相关文章
- gnuplot: 一种更为简洁的曲线,柱状图绘图软件
gnuplot: 一种更为简洁的曲线,柱状图绘图软件 gnuplot: 一种更为简洁的曲线,柱状图绘图软件 Zhong Xiewei Wed Jun 25 gnuplot简单介绍 关于gnuplot的 ...
- 化学绘图软件ChemDraw真的什么都能干!
今天要介绍的就是一款无所不能的化学绘图软件——ChemDraw,绘制平面化学结构.生成立体化学模型.查询化学信息.编写化学脚本.计算化学数据等等,堪称化学界的必备神器. 化学软件ChemDraw免费获 ...
- Mac 设计师必备的设计绘图软件 推荐与下载
Mac设计师必备的设计绘图软件,为广大设计师推荐一些Mac上实用且强大的软件,使用好的软件,事半功倍,设计出精美的作品. Mac上优秀的设计类软件非常多,绝对不止这几款软件,看看以下内容,希望对你有帮 ...
- AutoCAD 2019 for mac 非常好用的CAD三维设计绘图软件
macOS下用什么cad软件?mac在哪下载cad软件? AutoCAD 2019 for mac 是一款非常好用的CAD三维设计绘图软件,可应用三维建模.CAD.渲染.动画.视觉特效和数字图像. A ...
- ToDoList:一款非常优秀的任务管理软件 —— 工具类
ToDoList是一款非常优秀的任务管理软件,用户可以方便地组织和安排计划.这是一个开源的项目,很多细节都考虑到了,推荐大家使用~ ToDoList 帮你把要做的事情列出来,一项一项,类似思维导图. ...
- Smartdraw世界上最流行的商业绘图软件
Smartdraw 更多图片(5张) SmartDraw是世界上最流行的商业绘图软件.2006 年获美国政府司法部 (U.S. Department of Justice) 专用软件,2007获美国政 ...
- c++绘图软件<一>
准备写一个绘图软件,参考了三层架构(表现层.业务逻辑层.数据访问层). //////////////////////////////////////////////////////////////// ...
- Ubuntu 16.04 安装GIMP绘图软件
Ubuntu上比较好用的绘图软件,GIMP,安装方法如下: 终端输入 : sudo apt-get install gimp ,回车,输入密码,即可安装简单易行. 输入 :gimp ,启动程序.
- 推荐一款优秀的代码编辑软件--Source Insight
“工欲善其事,必先利其器”,好的工具能够提高我们办事的效率,进而提升团队乃至企业的竞争力. 对于软件开发工程师来说,选择一款优秀的代码编辑软件也是很重要的.最近,我看到有很多同事还在用微软的VC ++ ...
随机推荐
- Linux 通过端口转发来访问内网服务
Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具,系统内部服务受系统网服限制外部无法访问,需要通过rinetd映射将内网服务转发出来. 1. 下载解压 ...
- Unity应用架构设计(10)————绕不开的协程和多线程(Part 1)
在进入本章主题之前,我们必须要了解客户端应用程序都是单线程模型,即只有一个主线程(Main Thread),或者叫做UI线程,即所有的UI控件的创建和操作都是在主线程上完成的.而服务器端应用程序,也就 ...
- 教育行业app开发新契机,在线教育要从B端出发
近几年移动互联网教育风生水起,在运营模式上的开拓也各不相同,随着移动互联网进入下半场,好未来.新东方.猿题库.学霸君等,都在加速三四线地区布局,以及教育行业app开发和升级. 在移动互联网下半场,用户 ...
- Tomcat 安装与配置
1. 将压缩文件“apache-tomcat-7.0.62.zip ”上传到linux系统目录:/home/下 2. 进入目录 cd /home/ 解压文件,执行如下命令:unzip apache-t ...
- 数据库MySQL安装和校验
1.安装MySQL 双击已经下载的安装包: Typical:典型安装,第一次安装建议选择该类安装 Custom:自定义安装,在对数据库熟悉后,知道自己需要哪些组件时,可以选择该类安装(这里选择的是自定 ...
- Java文件流应用:剪切文件
剪切的实际操作是: 第一步,先复制文件到指定位置, 第二步,删除原文件,这样就实现了剪切 与复制文件相比,多了一步删除文件 注意:删除文件必须在流关闭后,才能删除,否则,删除不了. 实例代码 pack ...
- apache和nginx支持SSI配置
今天发现了一种新的语言格式:.shtml 一. 前言 SSI是一种类似于ASP的基于服务器的网页制作技术.将内容发送到浏览器之前,可以使用"服务器端包含 (SSI)"指令将文本.图 ...
- python requests get/post
基本Get请求: #-*- coding:utf-8 -*- import requests url = 'http://www.baidu.com' r = requests.get(url) pr ...
- Android Studio 工具栏添加常用按钮
本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异.在工具栏中添加一些常用的按钮,如设置.DDMS,有利于 ...
- java加密算法入门(一)-算法概念及单向加密
说起加密,我的第一印象就是电视剧各种密码本破解解密的场景,这两天在看加密相关的东西,做下笔记以便以后查看,也提供给大家个参考. 本文是java加密的第一篇,主要讲述下消息编码Base64以及简单的消息 ...