Search code examples
ruby-on-railschartsgoogle-visualizationchartkick

Rails chartkick stacked bar charts


I'm trying to create a stacked bar chart using Rails Chartkick gem and I'm using Google charts API.

I have use this line to generate the bar chart using chartkick.

<%= bar_chart data, :library => {:isStacked => true} %> 

But what i'm getting is a simple bar chart not a stacked one.My question is what is the structure of the data which i should pass to data parameter. I have try passing an array, like(from google charts samples)

[['Genre', 'Fantasy & Sci Fi', 'Romance', 'Mystery/Crime', 'General','Western', 'Literature', { role: 'annotation' } ],['2010', 10, 24, 20, 32, 18, 5, '']]

but it didn't work.


Solution

  • You can replicate Stacked Bar Charts like this:

    data = [
      {
        name: "Fantasy & Sci Fi", 
        data: [["2010", 10], ["2020", 16], ["2030", 28]]
      },
      {
        name: "Romance", 
        data: [["2010", 24], ["2020", 22], ["2030", 19]]
      },
      {
        name: "Mystery/Crime", 
        data: [["2010", 20], ["2020", 23], ["2030", 29]]
      }
    ]
    

    And in the template:

    <%= bar_chart data, stacked: true %>