0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Chart Candy use D3.js library to quickly render AJAX charts in your Rails project. In a minimum amount of code, you should have a functional chart, styled and good to go.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0.8.7
>= 2.0

Runtime

 Project Readme

Chart Candy

Chart Candy use D3.js library to quickly render AJAX charts in your Rails project. In a minimum amount of code, you should have a functional chart, styled and good to go.

Install

gem install chart-candy

Rails 3

In your Gemfile:

gem 'chart-candy'

Setup

First you need to link the assets.

In your css manifest put : require chart_candy

In your javascript manifest put : require chart_candy

In your layout you must link the D3.js library. You can use the following helper method in order to do that.

<%= d3_include_tag %>

Usage

Now, you're ready to add some charts to your project! Chart Candy currently offer 3 chart types : line, donut and counter.

Line Chart

Data generation

You must create a class that will build the JSON data for the chart. We suggest to create a app/charts directory in your Rails project to hold all your charts. For example, if I want the chart of downloaded books, I would create app/charts/downloaded_books_chart.rb.

class DownloadedBooksChart < ChartCandy::BaseChart
  def build(chart)
    downloads = [ {"time"=>Time.now - 4.months, "value"=>69}, {"time"=>Time.now - 3.months, "value"=>74}, {"time"=>Time.now - 2.months, "value"=>83}, {"time"=>Time.now - 1.months, "value"=>84} ]

    chart.add_x_axis :date, downloads
    chart.add_y_axis :number, downloads

    chart.add_line 'downloads', downloads
  end
end

This build method will be call by the AJAX chart.

Chart rendering

In your view, you call the chart.

<%= line_chart 'downloaded-book' %>

Labelling

Chart Candy use Rails I18n to manage text. In order to manage the labels on the chart you'll have to create a YAML that looks like that :

fr:
  chart_candy:
    downloaded_books:
      title: "Downloaded Books from my Library"

      axis:
        x:
          label: "Period"
        y:
          label: "Quantity"
      lines:
        downloads:
          label: "Quantity of downloads"
          unit: "downloads"

Donut Chart

Coming Soon

Counter

Coming Soon

Copyright

Copyright (c) 2012 De Marque inc. See LICENSE for further details.DownloadedBooks