0

2 つのバーを含む Gruff のバー グラフが必要です。

2 つの科目について、ループして activity と grade の値を取得します。

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') 

しかし、これは「文字列と 0 の比較に失敗しました」というエラーをスローします。データを次のように印刷する必要があります

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

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

値が文字列として扱われているようです。これを解決するにはどうすればよいですか。どんな助けでも大歓迎です。

乾杯!

4

1 に答える 1

0

実際inspectにはメソッドは を返しますStringdata次のように、配列をメソッドに渡すだけでよいと思います。

g.data("Activity", activity)
g.data("Summative", grade)
于 2012-03-18T09:58:33.947 に答える