4

命令行画图工具gnuplot用法入门

 1 year ago
source link: https://blogread.cn/it/article/1393?f=hot1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

命令行画图工具gnuplot用法入门

浏览:10176次  出处信息

关于这个软件,网上已经有许多介绍性的文章。本篇文章以物理系学生常用的功能「二维画图」与「数据fit」为主题,作为一个快速引入门的指引。相信只要学些基本基础后,就可以依照自己的目的去自学了!

以下为目录:
(一) 下载软件
(二) 二维函数画图
(三) 二维资料数据作图
(四) 二维资料数据fitting(拟合、模拟)
(五) 输出成图片
(六) 应用实例
(七) 参考与延伸资料
(一) 下载软体

从软件的官方网页,可进入下载页面 (SourceForge.net)

★ Windows 用户
1. 将程式解压缩展开后,执行bin\wgnuplot.exe即可。

ps. 事实上gnuplot 只需要wgnuplot.exe 一个文件即可执行,可当作轻巧的可携式绿色软件。不过就没有 help 功能了。
★ 非 Windows 用户 (以 Ubuntu Linux 为例)

下载源代码来编译:

1. 下载gnuplot- 4.2.3.tar.gz
2. 将压缩包解压缩展开后,执行编译安装指令:
./configure
make
sudo make install

从此之后,可从终端输入gunplot指令来使用此程序。
(二) 二维函数画图

1. gnuplot 的画图指令非常简单。例如画 sin(x) 的图,指令为:
plot sin(x)
2. 设定图上的标题和座标轴名称:

set title ‘Exp’
set xlabel ‘x axis’
set ylabel ‘y axis’
plot [x=0:2] [0:20] exp(x**2)

注意:gnuplot的次方是用「**」(而不是「^」)

(三) 二维资料数据作图

1. 先在「gnuplot 程式目录」下,建立一个数据资料档,档名命名为『data.txt』,档案内容为(中间以一个空格格开):

0 0
2 4
4 18
6 34
8 63
10 101
12 140
14 197
16 260
2. 依这个档案里的数据作图的指令为:(数据的资料格式为xy)
plot ‘data.txt’
注意: 假如把数据档放在别的地方,譬如C:\,引号里就必须改成完整路径’c:\data.txt’

(四) 二维资料数据fitting (拟合、模拟)

1. 以一次函数 ax b 来fit:
fit a*x b ‘data.txt’ via a,b
『Final set of parameters』里的a,b 即为fit 的结果。
将fitting 结果的函数图形与原始数据,画在同张图上:
plot 16.0833*x-37.8889, ‘data.txt’
2. 以二次函数 ax2 c 来fit:
fit a*x**2 c ‘data.txt’ via a,c

将fitting 结果的函数图形与原始数据,画在同张图上:(如下,也可以先指定a,c 值)
a= 1.00828
c=-0.639344
plot a*x**2 c, ‘data.txt’

(五) 输出成图档

1. 设定输出终端机类型(输出成png 图档),以及输出图档档名:
set terminal png
set output ‘filename.png’
2. 执行想输出成图片的绘图指令,图片就会输出到gnuplot 程式目录下。

* 要关掉gnuplot后,图片才能正常读取。 (原因不明@@)
* 若要使绘图指令输出的图,改回输出到萤幕上显示:
set terminal windows
* 指令 set terminal 可简写为 set term

(六) 参考与延伸资料

*命令行画图工具gnuplot非交互式画图实例
*本文摘自二师兄
* gnuplot简介, yenlung
* 网页版本的gnuplot与一些简介教学!!
GNUPLOT 科学绘图工具网页介面, 台湾师大物理系物理教学示范实验教室。

建议继续学习:

QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK