gnuplot简单使用

设置输出

输出格式

some formats

ascii输出

输出文件

  • 输出文件 set output 'filename'
  • 大小 set size m,n,m,n为放大、缩小的倍数(相对于当前大小)

常用绘图设置

坐标范围

  • 改变坐标范围 set xrange[min:max]set yrange[min:max]
  • 只在本次绘图中有效 plot [xmin:xmax] [ymin:ymax] f(x)
  • gnuplot自动设置 set autoscale
  • 可以只设置x或者只设置y的范围
  • 可以只设置范围上限或者下限 set xrange[min:]

坐标名称

  • 设置名称 set xlabel 'xlabel'set ylabel 'ylabel'
  • 取消名称 unset xlabelunset ylabel

标题

  • 标题 set title 'title'
  • 标题 unset title

曲线标题

  • 曲线标题 plot f(x) title 'title'
  • 放置位置 set key x,y ;x,y为坐标
  • 重置为默认位置 set key default
  • 不显示曲线标题 unset key
  • 曲线标题框 set key box

同时绘制多个函数

  • 用逗号分隔函数:plot f1(x),f2(x),f3(x)...fn(x)

网格

  • 添加 set grid
  • 取消 unset grid

变量

  • 变量名不区分大小写
  • 变量赋值后即存在
  • show variables简写为sh v

函数

  • 内置函数,如sin(x),cos(x),log(x)
  • 自定义函数,如f(x)=x*x; plot f(x)
  • show function查看用户定义函数

文件绘图

数据文件data内容如下:

  • plot 'data'将自动使用第一、二列数据作为x,y坐标绘图
  • plot 'data' with lines 将点连起来
  • plot 'data' with linespoint 将各点连起来并用符号标记点
  • plot 'data' using 1:3 with linespoint 指定用1、3列作为x、y坐标
  • plot 'data' using 1:($3/3)plot 'data' using 1:($3+$4),分别表示以第三列的3分之一、第三列和第四列的和作为y坐标
  • plot 'data' using 1:(sin($3)) 对某一列使用函数

常用命令

命令简写

脚本功能

  • 注释,使用 "#"
  • 很长的行可以用 \\断行写
  • call 'script'在gnuplot环境下调用画图脚本
  • gnuplot script在shell下直接执行画图脚本

实例

用gnuplot画sar数据。 需要注意的是 set timefmt指定的是读取数据文件的格式,而 set format x指定的是x轴显示的格式。如果不指定set format,类似00:10:01这样的数据会默认显示成10:00[2]。

效果图

gnuplot sar

gnuplot sar

参考资料

[1]. gnuplot简单使用
[2]. gnuplot doesn't follow given timefmt

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注