Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Rails plugin for easy embedding charts with Google Visualization API
Failed to load latest commit information.
gemfiles Setup tests to run on rails 3
test Add coveralls support
.gitignore Setup tests to run on rails 3
Appraisals Setup tests to run on rails 3 Gvis version 2.1.0 release
Gemfile Tidied up gem specification and moved to bundler/minitest/rcov for de…
MIT-LICENSE Add note about contributions
gvis.gemspec Setup tests to run on rails 3


Gem Version : Latest published version on

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" %>
    <% "Date" %>
    <% chart.number "Sales" %>
    <% chart.number "Expenses" %>
    <% chart.string "Location" %>

    <%# Add the data %>
    <% chart.add_rows([
        ["Apples",,1,1), 1000,300,'East'],
        ["Oranges",,1,1), 950,200,'West'],
        ["Bananas",,1,1), 300,250,'West'],
        ["Apples",,2,1), 1200,400,'East'],
        ["Oranges",,2,1), 950,150,'West'],
        ["Bananas",,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

Something went wrong with that request. Please try again.