Google Chart 4 Rails (GC4R)
Charts are generated by Google API.
Install: ruby script/plugin install http://gc4r.googlecode.com/svn/trunk/
Supported features:
1.line chart
2.bar chart (vertical and horizontal)
3.pie chart (both 2D and 3D)
4.title, title color and size
5.data colors and legend
6.data scaling
7.multiple axis
#Controller
use_google_charts
#In method of controller
Default Chart or Hello World Chart
@chart = GoogleChart.new
Set the width of chart
@chart = GoogleLineChart.new :width => 300, :height => 200
Set the data
dataset = GoogleChartDataset.new :data => [10,50,4,10,16] data = GoogleChartData.new :datasets => dataset @chart = GoogleLineChart.new :width => 300, :height => 200 @chart.data = data
add a chart title
dataset = GoogleChartDataset.new :data => [10,50,4,10,16] data = GoogleChartData.new :datasets => dataset @chart = GoogleLineChart.new :width => 200, :height => 150, :title => 'Java vs. Ruby Montly Job Opportunities' @chart.data = data
Set title in array instead of string
dataset = GoogleChartDataset.new :data => [10,50,4,10,16] data = GoogleChartData.new :datasets => dataset @chart = GoogleLineChart.new :width => 200, :height => 150, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data
Multiple data in chart
dataset1 = GoogleChartDataset.new :data => [10,50,4,10,16] dataset2 = GoogleChartDataset.new :data => [99, 81, 25, 54, 80] data = GoogleChartData.new :datasets => [dataset1, dataset2] @chart = GoogleLineChart.new :width => 200, :height => 150, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data
Add colors
dataset1 = GoogleChartDataset.new :data => [10,50,4,10,16],:color => 'FF0000' dataset2 = GoogleChartDataset.new :data =>[99,81,25,54,80],:color => '0000FF' data = GoogleChartData.new :datasets => [dataset1, dataset2] @chart = GoogleLineChart.new :width => 200, :height => 150, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data
Define legend
dataset1 = GoogleChartDataset.new :data =>[10,50,4,10,16],:color => 'FF0000', :title => 'Java' dataset2 = GoogleChartDataset.new :data=>[99,81,25,54,80],:color => '0000FF', :title => 'Ruby' data = GoogleChartData.new :datasets => [dataset1, dataset2] @chart = GoogleLineChart.new :width => 200, :height => 150, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data
Define Axis
dataset1 = GoogleChartDataset.new :data =>[10,50,4,10,16],:color => 'FF0000', :title => 'Java' dataset2 = GoogleChartDataset.new :data=>[99,81,25,54,80],:color => '0000FF', :title => 'Ruby' data = GoogleChartData.new :datasets => [dataset1, dataset2] axis = GoogleChartAxis.new :axis => [GoogleChartAxis::LEFT, GoogleChartAxis::BOTTOM] @chart = GoogleLineChart.new :width => 250, :height => 150, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data @chart.axis = axis
Define Right and X Axis
dataset1 = GoogleChartDataset.new :data=> [10,50,4,10,16],:color => 'FF0000', :title => 'Java' dataset2 = GoogleChartDataset.new :data=>[99,81,25,54,80],:color => '0000FF', :title => 'Ruby' data = GoogleChartData.new :datasets => [dataset1, dataset2] axis = GoogleChartAxis.new :axis => [GoogleChartAxis::LEFT, GoogleChartAxis::BOTTOM, GoogleChartAxis::RIGHT, GoogleChartAxis::BOTTOM] @chart = GoogleLineChart.new :width => 300, :height => 200, :title => ['Java vs. Ruby', 'Montly Job Opportunities'] @chart.data = data @chart.axis = axis
Define Bar Chart:
@chart = GoogleBarChart.new :width => 300, :height => 200, :title => ['Java vs. Ruby', 'Montly Job Opportunities']
Define 3D Pie Chart:
@chart = GooglePieChart.new :width => 400, :height => 200, :title => ['Java vs. Ruby', 'Montly Job Opportunities'], :chart_type => GooglePieChart::PIE_3D
#view:
<%= image_tag @chart.to_url %>



