arnaud / lazy_high_charts

Ruby gem for creating Highcharts in Rails

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.0.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

Ruby gem for creating Highcharts in Rails

License:MIT License


Languages

Language:Ruby 100.0%