class GraphController < ApplicationController
class GruffGraff
- COLORS = ['#74CE00', '#005CD9', '#DC0D13', '#131313', '#990033']
+ COLORS = ['#74CE00', '#005CD9', '#DC0D13', '#131313', '#A214A4', 'EFF80E',
+ '90E5E6', 'F58313', '437D3D', '0E026C']
BACKGROUND_COLORS = ['#74CE00', '#FFFFFF'] #for green and white background
def initialize(options)
end
else #one dimensional array, just pass it in
@graph.data( options.fetch(:data_name, "Data"), options[:data] )
+ @graph.hide_legend = true
end
# set the labels or create an empty hash
@election = Election.find(params[:id])
data, labels, scale = get_votes_per_interval_data(@election)
+ hide_legend = true
+
graph = GruffGraff.new( :graph_type => Gruff::Line,
:data_name => @election.name,
:data => data,
@election.results unless @election.borda_result
data, labels = get_borda_points(@election.borda_result)
+ size = "400x300"
+ size = "580x300" if @election.candidates.size >= 5
+
+ if @election.candidates.size >= 5
+ marker_font_size = 17
+ else
+ marker_font_size = 20
+ end
+
graph = GruffGraff.new( :graph_type => Gruff::Bar,
:data_name => @election.name,
:data => data,
:interval_labels => labels,
+ :size => size,
:title => "Points Per Candidate",
:marker_color => '#999999',
+ :marker_font_size => marker_font_size,
:y_axis_label => "Points",
- :x_axis_label => "Candidate")
+ :x_axis_label => "Candidates")
send_data(*graph.output)
end
#Acording to Tufte, small, concomparitive, highly labeled data sets usually