Skip to content

rails plugin for make highcharts a la ruby , works in rails 3.0 / 3.1

License

Notifications You must be signed in to change notification settings

achied/lazy_high_charts

 
 

Repository files navigation

LazyHighCharts

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://github.com/michelson/lazy_high_charts.git ##(for rails 2)

rails plugin install git://github.com/michelson/lazy_high_charts.git  ##(for rails 3)

HighStocks

LazyHighCharts now compatible with beta HighStock, http://www.highcharts.com/stock/demo/

Usage

About javascript Assets notes: for Rails 2.x/3.x 1.you need manually put jquery/highcharts js to public/javascript 2.modify your layout html Sample Code: <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" %> <%= javascript_include_tag :high_charts %> 3. 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 = LazyHighCharts::HighChart.new('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 = LazyHighCharts::HighChart.new('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 = LazyHighCharts::HighChart.new('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!!!'+ this.series.name +'</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:

 http://www.highcharts.com/ref/

HighCharts License:

 http://www.highcharts.com/license

Contributing

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.

Maintainers

License

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

About

rails plugin for make highcharts a la ruby , works in rails 3.0 / 3.1

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published