X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/6a1c545f073430dd46bf5ad89b0450a16c659b00..ffec26b00fc14b92f82137e1e3c62ce78c93ea24:/app/controllers/graph_controller.rb diff --git a/app/controllers/graph_controller.rb b/app/controllers/graph_controller.rb index c72da85..814eb36 100644 --- a/app/controllers/graph_controller.rb +++ b/app/controllers/graph_controller.rb @@ -3,11 +3,13 @@ class GraphController < ApplicationController class GruffGraff def initialize(options) - size = "700x400" + size = options[:size] ? options[:size] : "400x300" #allow custom sizing @graph = options[:graph_type].new(size) - - @graph.theme = { :colors => ['#000000', '#00FFFF', '#FFCC00', '#990033'], - :background_colors => ['#74ce00', '#ffffff'] } + + @graph.no_data_message = "No Voters" + + @graph.theme = { :colors => ['#005CD9', '#DC0D13', '#131313', '#990033'], + :background_colors => ['#74CE00', '#FFFFFF'] } @graph.font = File.expand_path('/usr/X11R6/lib/X11/fonts/TTF/Vera.ttf', RAILS_ROOT) @@ -72,6 +74,7 @@ class GraphController < ApplicationController :data => data, :interval_labels => labels, :title => "Voters Over Time", + :size => "700x400", :x_axis_label => scale, :y_axis_label => "Number of Votes") send_data(*graph.output) @@ -121,12 +124,21 @@ class GraphController < ApplicationController def plurality_pie @election = Election.find(params[:id]) + @election.results unless @election.plurality_result || @election.approval_result + votes = @election.votes.size + data = Hash.new + names = @election.names_by_id - - + @election.plurality_result.points.each do |candidate, votes| + data[names[candidate]] = votes + end + pie = GruffGraff.new ( :graph_type => Gruff::Pie, - :data => , - :title => "Percentage of First Plce Votes") + :title => "Percentage of First Place Votes", + :data => data) + send_data(*pie.output) + + end private def get_positions_info(election)