Данные гистограммы Gruff в массиве, - PullRequest
0 голосов
/ 18 марта 2012

Мне нужна гистограмма в 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') 

Но при этом выдается ошибка «Не удалось сравнить строку с 0».Мне нужно, чтобы данные были напечатаны как

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

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

Похоже, значения обрабатываются как строки.Что я должен сделать, чтобы решить это.Любая помощь очень ценится.

Ура!

1 Ответ

0 голосов
/ 18 марта 2012

На самом деле inspect метод возвращает String. Я думаю, что вы должны просто передать свои массивы методу data следующим образом:

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