Gruff条形图数据在数组中,

时间:2012-03-18 08:42:38

标签: ruby gruff

我需要一个带有两个条形的Gruff条形图。

对于两个科目,我循环获取活动和成绩的值:

sub = ["English", "Maths"]

activity = []
grade = []    

sub.each do |sub|
  activity.push(sub["activity"].to_i)
  grade.push(sub["grade"].to_i)
end 

现在,我将这些值用于我的条形图。

g = Gruff::Bar.new('500x250')
g.maximum_value = 100 
g.minimum_value = 0
g.y_axis_increment = 15
g.data( "Activity", activity.inspect)
g.data( "Summative", grade.inspect)
g.labels = {0 => 'English', 1 => 'Language II'}
g.write('images/overall_score.png') 

但是,这会抛出一个错误“String与0的比较失败”。我需要将数据打印为

g.data( "Activity", [10,20])

puts activity.inspect prints the array as above ex: [10,20]   

看起来这些值被视为字符串。我该怎么做才能解决这个问题。 任何帮助是极大的赞赏。

干杯!

1 个答案:

答案 0 :(得分:0)

实际上inspect方法会返回String。我认为您应该将数组传递给data方法,如下所示:

g.data("Activity", activity)
g.data("Summative", grade)