Rails plugin for easy embedding charts with Google Visualization API



Gem Version : Latest published version on rubygems.org

Build Status Coverage Status Code Climate Current master branch status

Rails plugin that provides a Ruby wrapper for easily loading the Google Visualization API, and simple generation of the javascript required to plot the graphs For a full list of the graphs provided by google's visualization api see the gallery For documentation on how to use each graph type see google's API documentation


gvis version 2.x - Rails 3.x compatible (And rails 2.x using rails_xss)

gvis version 1.x - Rails 2.x compatible


Rails 3:

# Gemfile
gem 'gvis', '>= 2.0.0'

Rails 2.X:

# config/environment.rb
config.gem 'gvis', :version => '< 2.0.0'

Then include the GoogleVisualization module in app/helpers/application_helper.rb

module ApplicationHelper
  include GoogleVisualization

Load the API, and render any graphs by placing these methods inside your layout

# app/views/layouts/application.html.erb
    <%= include_visualization_api %>
    <%= render_visualizations %>


Render desired graphs in the view like this:

# index.html.erb
<% visualization "my_chart", "MotionChart", :width => 600, :height => 400, :html => {:class => "graph_chart"} do |chart| %>
    <%# Add the columns that the graph will have %>
    <% chart.string "Fruit" %>
    <% chart.date "Date" %>
    <% chart.number "Sales" %>
    <% chart.number "Expenses" %>
    <% chart.string "Location" %>

    <%# Add the data %>
    <% chart.add_rows([
        ["Apples", Date.new(1998,1,1), 1000,300,'East'],
        ["Oranges", Date.new(1998,1,1), 950,200,'West'],
        ["Bananas", Date.new(1998,1,1), 300,250,'West'],
        ["Apples", Date.new(1998,2,1), 1200,400,'East'],
        ["Oranges", Date.new(1998,2,1), 950,150,'West'],
        ["Bananas", Date.new(1998,2,1), 788,617,'West']
    ]) %>
<% end %>


Pull requests for new features/bugfixes are welcome. If you're interested in helping maintaining gvis, please contact me.

Copyright (c) 2009 [Jeremy Olliver], released under the MIT license