Skip to content
rails plugin for make highcharts a la ruby , works in rails 3.0 / 3.1
Pull request Compare This branch is 1 commit ahead, 240 commits behind michelson:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Easily displaying Highcharts graphs with gem style. Build Status

Now Support Rails 2.x/3.x,Happy useful

Installation instructions for Rails 3

Installing it by rubygems

To install it, you just need to add it to your Gemfile: gem 'lazy_high_charts'

And then run this to install the javascript files: rails g lazy_high_charts:install

Installing it as a plugin for rails 2.3.5 and rails 3

script/plugin install git:// ##(for rails 2)

rails plugin install git://  ##(for rails 3)


LazyHighCharts now compatible with beta HighStock,


About javascript Assets notes: for Rails 2.x/3.x need manually put jquery/highcharts js to public/javascript 2.modify your layout html Sample Code: <%= javascript_include_tag "" %> <%= javascript_include_tag :high_charts %>

  1. add gem name in your config/environment.rb config.gem "lazy_high_charts" 4.done!

    For Rails 3.1 In your Gemfile, add this line: gem 'lazy_high_charts', '~> 1.1.5' then execuate command: Rails g lazy_high_charts:install

    Usage in Controller:

    @h ='graph') do |f| f.options[:chart][:defaultSeriesType] = "area" f.series(:name=>'John', :data=>[3, 20, 3, 5, 4, 10, 12 ,3, 5,6,7,7,80,9,9]) f.series(:name=>'Jane', :data=> [1, 3, 4, 3, 3, 5, 4,-46,7,8,8,9,9,0,0,9] ) end

    Without overriding entire option , (only change a specific option index):

    @h ='graph') do |f| ..... f.options[:chart][:defaultSeriesType] = "area" f.options[:chart][:inverted] = true f.options[:legend][:layout] = "horizontal" f.options[:xAxis][:categories] = ["uno" ,"dos" , "tres" , "cuatro"] ......

    Overriding entire option:

    @h ='graph') do |f| ..... f.xAxis(:categories => @days.reverse! , :labels=>{:rotation=>-45 , :align => 'right'}) f.chart({:defaultSeriesType=>"spline" , :renderTo => "myRenderArea" , :inverted => true}) .....

    Usage in layout:

    <%= javascript_include_tag :high_charts %>

    Usage in view:

    <%= high_chart("my_id", @h) %>

    Passing formatting options in the view to the helper block , because all the helper options declared in the controller are converted in strict/valid json (quoted key); so we need to extend the json object with some js.

    <%= high_chart("my_id", @h) do |c| %>
          <%= "options.tooltip.formatter = function() { return '<b>HEY!!!'+ +'</b><br/>'+ this.x +': '+ this.y +' units';}" %>
          <%= "options.xAxis.labels.formatter = function() { return 'ho';}" %>
          <%= "options.yAxis.labels.formatter = function() { return 'hey';}" %>
     <%end %>

    HighStock Support:

    ##just call HighChart Helper this way:

    <%= high_stock("my_id", @h) %>

    Option reference:

    HighCharts License:


We're open to any contribution. It has to be tested properly though.

  • Fork the project
  • Do your changes and commit them to your repository
  • Test your changes. We won't accept any untested contributions (except if they're not testable).
  • Create an issue with a link to your commits.



MIT License. Copyright 2011 Miguel Michelson Martinez.Deshi Xiao Copyright (c) 2010 Miguel Michelson Martinez, released under the MIT license

Something went wrong with that request. Please try again.