Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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

This branch is 215 commits behind michelson:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
autotest
lib
rails
spec
.gitignore
.rspec
CHANGELOG.md
Gemfile
MIT-LICENSE
README.md
Rakefile
init.rb
lazy_high_charts.gemspec

README.md

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 %>

  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 = 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

Something went wrong with that request. Please try again.