linux文件生成时间统计,linux环境下根据统计数据生成柱状图文件

工作中有一项工作就是一个监视脚本,把数据的增量信息,每天以邮件的形式发送给相关人员,但是每天的增量信息并不能直观的带来可用信息,比较有用的是近一段时间数据的增长趋势。

如果描述近一段时间的增长趋势,比较直观的做法,就是生成图像,虽然email支持html,但是它毕竟不是在浏览器中浏览,没法使用一些画图js。最后想到的就是生成图片格式的文件。

根据数据生成图片文件,首先想到的是Graphviz,之前用过它的dot命令。可以生成流程图。仔细研究了下这个软件包,貌似它只局限于关系图的表达,并不擅长图表领域。

再继续找,便找到了大名鼎鼎的gnuplot。记得大学时候用的仿真软件RSOFT,都内带了这款画图软件,说明gnuplot在专业绘图领域还是很出名的。

简单的示例,生成一个柱状图。

数据文件 data.txt

1月 22

2月 23

3月 20

4月 26

5月 32

6月 13

7月 22

8月 23

9月 20

10月 26

11月 32

12月 42

再写个脚本文件:plot.sh

#!/bin/bash

echo "

set terminal png truecolor

set output \"my.png\"

set grid

set style data histograms

set style fill solid 1.00 border -1

set xlabel \"date\"

set ylabel \"num\"

plot \"data.txt\" using 2:xtic(1) title \"my data\"

" | gnuplot

你也可以把echo的内容输入到一个文件里,然后使用gnuplot命令执行这个文件。

执行之后,生成的my.png文件如下,很不幸,不支持中文,不过网上有解决的方法。

bc1bcf1980935aa995dd7457c8d6219a.png

备注:set terminal png truecolor 如果你使用的不是可视化界面,这句是需要的,否则它会尝试展示一个图像,而又不能打开窗口,从而报错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值