?1、gruff插件可以画很多种图 如 点图、折线图、圆饼图、网状图、柱状图等,这里只写了2个例子(点图和折线图)。
?2、gruff画图主要是通过按相应的格式提供这张图的显示数据、横轴的标签以及其他相关的属性,最后生成图片。
?3、每种图都有很多属性,如改变图片背景,设置点或线的大小、粗细,设置标题、x、y轴标签的位置以及字体大小等等,各个属性的学习我也学得不全,大家好好利用gruff的api吧,很有用!
下面举2个例子:
?1、点图(dot)
??
class="ruby" name="code">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???? 很有用!
?
?