首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 gnuplot 在网页中显示数据(2)用 sar 创建图形

使用 gnuplot 在网页中显示数据(2)用 sar 创建图形

用 sar 创建图形sar 可能是最常用的收集性能数据的方法,所以我们以它作为示例。清单 1(sarx.txt)是通过运行 sar 收集的数据,数据收集时间为 5 小时,每小时收集一次,输出已经经过筛选。
清单 1. sarx.txt
1
2
3
4
5
14:10:50        33  27    4     36      4.00
15:10:50        29  14    3     28      4.00
16:10:50        35  21    1     31      4.00
17:10:49        38 29    2     39      4.00
18:10:40        42  29    3     35      4.00




接下来,创建一个文件以包含生成图形所需的所有 gnuplot 命令。可以给这个文件起任何名字;在本文中,我把它命名为 sarx.conf。
为了能够生成图像,必须告诉 gnuplot 图形文件应该采用什么格式以及应该如何显示。(sarx.conf)包含执行 set 操作的配置文件。以 # 字符开头的行是注释。我们仔细看看 。
1
set terminal png truecolor




首先设置终端类型,这告诉 gnuplot 生成的图像应该采用什么格式。本文使用 png (Portable Network Graphics) 格式。
1
set output "sarimage.png"




接下来,告诉 gnuplot 实际的输出图像文件名。在这里,文件名为 sarimage.png。
1
set autoscale




在生成图形时,需要指定数据的 x 和 y 轴范围。这个示例让 gnuplot 自己计算范围值。但是,可以修改这个选项(稍后演示)。
1
2
set xdata time
set timefmt "%H:%M:%S"




因为这个示例使用日期值作为数据的参照点,需要告诉 gnuplot 日期数据的格式。在  sarx.txt 中,日期格式为:
Hour:Minute:Seconds
根据 UNIX 日期表示法,日期变量应该放在双引号中。常用的其他格式包括:
1
2
3
4
5
%d  - day of month 1 -31
%m - month of year 1 -12
%y  - year 0-99
%b  - three character of month name , ie: jan ,feb
%B  - name of month




如果日期列采用  Hour-Minute 格式,就用 : set timefmt ″%H-%M″ 表示。
1
set style data lines




在显示这个图形时,绘制出的数据应该是一条平滑的数据线。常用的其他绘制格式包括:dots、boxes、errorbars、candlesticks。
1
plot "sarx1.txt" using 1:2 title "%user", '' using 1:3 title "%sys"




接下来,使用 plot 命令实际绘制或生成图形。首先,指定数据输入文件名,然后告诉 gnuplot 要绘制哪些列。在这个示例中,使用第 1 列作为 x 轴,绘制第 2 列数据,标题为 “%user”;然后绘制第 3 列,标题为 “%sys”。标题(即标签)显示在图形的右上角。在绘制时,第 2 列和第 3 列使用第 1 列作为 x 值。plot 命令中的每个 ‘using’ 语句由逗号分隔。下一节讨论为什么要使用两个单引号。
生成图像文件的命令格式为:
1
cat < conf file> | gnuplot




对于本文,我使用:
1
$ cat sarx.conf | gnuplot




现在会生成 sarimage.png 文件。为了查看这个图像,把这个文件复制到 Web 服务器文件系统中的 htdocs 目录中。
图 1(sarimage)显示使用提供的示例数据在 Web 浏览器中看到的输出。
清单 2. sarx.conf
1
2
3
4
5
6
7
8
#sarx.conf
set terminal png truecolor
set output "sarimage.png"
set autoscale
set xdata time
set timefmt "%H:%M:%S"
set style data lines
plot "sarx.txt" using 1:2 title "%user", '' using 1:3 title "%sys"




图 1. sarimage
返回列表