ruby中gruff画图的简单例子
生活随笔
收集整理的這篇文章主要介紹了
ruby中gruff画图的简单例子
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?1、gruff插件可以畫很多種圖 如 點圖、折線圖、圓餅圖、網(wǎng)狀圖、柱狀圖等,這里只寫了2個例子(點圖和折線圖)。
?2、gruff畫圖主要是通過按相應的格式提供這張圖的顯示數(shù)據(jù)、橫軸的標簽以及其他相關的屬性,最后生成圖片。
?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軸的標簽,和傳統(tǒng)的點圖,x、y軸是相反的,如果想要傳統(tǒng)的點圖,可以用line圖,去除線(hide_lines = true) g.data("ku1",[10,20,30,40,50,60]) #第一組數(shù)據(jù),第一個參數(shù)是這條數(shù)據(jù)間的標題,第二個參數(shù)的6個數(shù)據(jù),分別對應x軸的7標簽(數(shù)據(jù)個數(shù)和x軸標簽數(shù)不相等,表現(xiàn)在圖上為該標簽沒有對應的點),第三個參數(shù)是這條折線的顏色(可省略,顏色為插件默認的設置) g.data("ku2",[2,4,9,7,8,6,5]) #第二組數(shù)據(jù) 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") #第一條折線的數(shù)據(jù),第一個參數(shù)是這條數(shù)據(jù)間的標題,第二個參數(shù)的4個數(shù)據(jù),分別對應x軸的4個標簽,第三個參數(shù)是這條折線的顏色(可省略,顏色為插件默認的設置) g.data("VEND2",[85,95,70,90],"#336600") #第二條折線的數(shù)據(jù) 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???? 很有用!
?
?
總結
以上是生活随笔為你收集整理的ruby中gruff画图的简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 中easydict的简单使
- 下一篇: 电销机器人 | 2018年具有前景的创业