利用gnuplot画柱状图

前几天给大家提供了利用gnuplot来画折线图的例子,现在介绍一下画柱状图的例子如下:

(转载请注明出处: http://hi.baidu.com/luxiaoyi/)

一个例子:
#下面这行设置标题
set title "A demonstration of boxes in mono with style fill pattern"

#下面这一行是用来描述图的每根柱子代表的意义的那个框框的属性。在本例中就是各种search
#其中right top表示位置显示。 Left 表示框子里的字左对齐。 width X用来限定框子大小。
#box X用来表示选用哪种类型的框子--颜色可能不同。 这里在png图里,如果width是0的画,会显得box
#很大,但是,没有关系,如果把它改成jpg格式的话,box正好合适。
set key right top Left reverse width 0 box 3

#下面这两行用来表示x,y轴的意思。引号内的内容会显示在图的轴旁边。
#其中,右边的两个数字表示引号内的内容在图中与x,y轴之间的相对距离。
#第一个0代表水平方向。第二个代表垂直方向。
set xlabel "Number of queries(Hundred)" 0,0
set ylabel "Number of messages" 0,0

#下面一行是用来设置‘柱子’的宽度
set boxwidth 0.9 absolute

#下面两行分别代表不同的画柱子风格。第一种是用颜色去区分。第二种是用斜线来区分柱子。
#第二种打印的话比较好。
#set style fill solid 1.00 border -1
set style fill pattern 3 border -1

set style histogram clustered gap 1 title offset character 0, 0, 0
set datafile missing '-'
set style data histograms
#set xtics border in scale 1,0.5 nomirror rotate by -45 offset character 0, 0, 0
#以下是设置x,y轴的坐标
set xtics ("5" 0, "10" 1, "15" 2, "20" 3, "25" 4, "30" 5, "35" 6, "40" 7, "45" 8, "50" 9)
set yrange [0 : 25] noreverse nowriteback
#set size 0.7,0.6

set terminal windows
#下面这行语句就是指示柱状图中的每一条的数据是来自'16newmsgsdata(trace).txt'文件的哪一列.
#eg:u 3 ti col title "Cluster Search" 就是表示title为Cluster Search的'柱子'的数据来自data
#文件的第三列.
plot '16newmsgsdata(trace).txt' using 2:xtic(1) ti col title "Recommend Search", '' u 3 ti

col title "Cluster Search", '' u 4 ti col title "Simple Search"
set terminal png
set output "16newmsgs(trace).png"
replot

**************************************************************************
数据文件如下:
#Number of queries(Hundred)
#Number of messages
Axis Recommend Cluster Simple
5 18.95 19.9487515 20.0672495
10 17.53 19.916748 20.227685
15 15.27 19.580625 20.0324985
20 13.51 19.3010005 19.977125
25 3.06 5.5678747 20.2019375
30 0 0 20.0405605
35 0 0 20.0024375
40 0 0 20.4801885
45 0 0 20.1574375
50 0 0 19.584875

****************************************************************************

输出文件:命令: load "xxx.txt" 回车
如果是利用set style fill solid 1.00 border -1模式画图,则输出如下:

如果是利用set style fill pattern 3 border -1模式画图,则输出如下:

Ok,大功告成,大家基本可以不用修改什么,如果要改可以试一试就可以。我个人比较推荐第二种模式画柱状图,因为黑白打印时,用颜色只能靠深浅,但是斜线就不一样了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值