ruby中gruff画图的简单例子

 1、gruff插件可以画很多种图 如 点图、折线图、圆饼图、网状图、柱状图等,这里只写了2个例子(点图和折线图)。

 2、gruff画图主要是通过按相应的格式提供这张图的显示数据、横轴的标签以及其他相关的属性,最后生成图片。
 3、每种图都有很多属性,如改变图片背景,设置点或线的大小、粗细,设置标题、x、y轴标签的位置以及字体大小等等,各个属性的学习我也学得不全,大家好好利用gruff的api吧,很有用!

下面举2个例子:

 1、点图(dot)

  

require "gruff"
g= Gruff::Dot.new #点图
g.title = "test" #图片的标题
g.labels = {0=>'5',3=>'6',6=>'7'} #点图这里设置的y轴的标签,和传统的点图,x、y轴是相反的,如果想要传统的点图,可以用line图,去除线(hide_lines = true)
g.data("ku1",[10,20,30,40,50,60]) #第一组数据,第一个参数是这条数据间的标题,第二个参数的6个数据,分别对应x轴的7标签(数据个数和x轴标签数不相等,表现在图上为该标签没有对应的点),第三个参数是这条折线的颜色(可省略,颜色为插件默认的设置)
g.data("ku2",[2,4,9,7,8,6,5]) #第二组数据
g.x_axis_label = "wendu" #x轴名
g.y_axis_label = "yunzhuanlv" #y轴名
g.minimum_value = 0 #y轴的最小值
g.maximum_value = 70 #y轴的最大值
#g.font = 'HGRSMP.TTF' ##用于解决图片上中文显示乱码问题
g.write("graphdot.jpg") #生成图片

效果如下:    

2、折线图(line)

 

 

 

require "gruff"
g= Gruff::Line.new  #折线图
g.title = "test" #图片标题
g.labels = {0=>'9',1=>'10',2=>'11',3=>'12'} #x轴的标签
g.data("VEND1",[70,100,100,100],"#ffffff") #第一条折线的数据,第一个参数是这条数据间的标题,第二个参数的4个数据,分别对应x轴的4个标签,第三个参数是这条折线的颜色(可省略,颜色为插件默认的设置)
g.data("VEND2",[85,95,70,90],"#336600") #第二条折线的数据
g.dot_radius = 3 #折线中点的大小
#g.hide_lines = true # 是否隐藏线,如果“true”,则只显示点,效果像点图
#g.font = 'HGRSMP.TTF' ##用于解决图片上中文显示乱码问题
g.x_axis_label = "wendu" #x轴的标签
g.y_axis_label = "yunzhuanlv" #y轴的标签
g.write("graphline.jpg") #生成图片,写上路径的话,会保存到该路径下

  效果如下:

 

    
 

gruff中每种图都有共同的属性,如x_axis_label、y_axis_label、label等等,也有各自特有的属性,如折线图的hide_lines等,具体的可以看这个api        http://www.rubydoc.info/github/topfunky/gruff/frames     很有用!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值