class Spout::Models::Graphables::Histogram
Generates data for variable histograms
Public Instance Methods
categories()
click to toggle source
# File lib/spout/models/graphables/histogram.rb, line 14 def categories if @variable.type == "choices" filtered_domain_options(@variable).collect(&:display_name) else @buckets.collect(&:display_name) end end
series()
click to toggle source
# File lib/spout/models/graphables/histogram.rb, line 26 def series @chart_variable.domain.options.collect do |option| visit_subjects = @subjects.select{ |s| s.send(@chart_variable.id) == option.value && !s.send(@variable.id).nil? && !s.send(@variable.id).is_a?(Spout::Models::Empty) } rescue visit_subjects = [] visit_subject_values = visit_subjects.collect(&@variable.id.to_sym).sort # rescue visit_subject_values = [] next unless visit_subject_values.size > 0 data = [] if @variable.type == "choices" data = filtered_domain_options(@variable).collect do |o| visit_subject_values.select { |v| v == o.value }.count end else visit_subject_values.group_by { |v| get_bucket(v) }.each do |key, values| data[categories.index(key)] = values.count if categories.index(key) end end { name: option.display_name, data: data } end.compact end
title()
click to toggle source
# File lib/spout/models/graphables/histogram.rb, line 10 def title @variable.display_name end
units()
click to toggle source
# File lib/spout/models/graphables/histogram.rb, line 22 def units "Subjects" end
x_axis_title()
click to toggle source
# File lib/spout/models/graphables/histogram.rb, line 48 def x_axis_title @variable.units end