Hi Folks,
i have been using charts and graphs to show statistics such for number of orders,products category,daily visits.etc.
Before i started using charts,i have been using Charts,js to show charts,which is too very easy.
Here is the link where you can get more to understand about Chart.js As i want to share more about Chartkick,which is a ruby gem which simplifies usage of Charts/Graphs in any Rails application just by simply installing the Gem and using one-line code in your view files wherein you need to pass group_by aggregated results
Let us Start by visiting the Gthub page for Chartkick gem
Once you have the Gem,all you need to do is to decide what type of charts you want to show.which can be:-
###in model/controller/concerns
##i want to show how many orders are created at which particular date
##hence i am grouping them by order_date/created_at
@orders=Orders.group("DATE(order_date)").order("order_date ASC").count
##which gives me this
i have been using charts and graphs to show statistics such for number of orders,products category,daily visits.etc.
Before i started using charts,i have been using Charts,js to show charts,which is too very easy.
Here is the link where you can get more to understand about Chart.js As i want to share more about Chartkick,which is a ruby gem which simplifies usage of Charts/Graphs in any Rails application just by simply installing the Gem and using one-line code in your view files wherein you need to pass group_by aggregated results
Let us Start by visiting the Gthub page for Chartkick gem
- Install the Gem
- Add the Dependent script(google chart/highchart js) in layout file
<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %>
3.YOU ARE DONE :)
- Line Chart
2. Pie Chart
3. Column/Bar Chart
4. Area Chart
5. Geo Chart
And Much more....
For all the above charts and graphs,you just need to use one line of ruby code where you specify which chart helper(pie,bar,area,line etc) you are using and pass in the array of two columns(name-> count)
So this is what you need to do to generate all of the above charts..
First get the data to be shown on the Chart which should be always grouped by count.
##i want to show how many orders are created at which particular date
##hence i am grouping them by order_date/created_at
@orders=Orders.group("DATE(order_date)").order("order_date ASC").count
##which gives me this
##{"1.01.2015" => 10, "5.02.2015" => 5, "8.02.2015" => 25, "12.03.2015" => 50}
###in view file
<%= line_chart @orders%>
<%= pie_chart @orders%>
<%= bar_chart @orders%>
<%= geo_chart @orders%>
That's it....All the above code will generate the above shown graphs very easily.
So,now you also know how easy it is to use charts in Rails application instead of adding lots of javascript code to show the same if you have a better option-Chartkick.
I too love to use HighCharts,Chart.js but if you are looking for default charts and graphs,then this is probably the most optimal choice you can go for...
Comments