簡體   English   中英

如何使用Chartkick對列進行分組

[英]How can I group columns with Chartkick

我有以下數據結構:

@data = [['Year', 'Sales', 'Expenses', 'Profit'],
          ['2014', 1000, 400, 200],
          ['2015', 1170, 460, 250],
          ['2016', 660, 1120, 300],
          ['2017', 1030, 540, 350]]

我想顯示按年份分組的Chartkick柱形圖 我在Rails視圖中嘗試了以下計划調用:

<%= column_chart @data %>

但它顯示一個空圖表。 對數據集進行分組的方式是什么?

這就是我使用計划Google Chart API所獲得的

我認為您希望數據結構如下所示:

[
  {
    name: "Sales", 
    data: [
      ["2014", 1000], ["2015", 1170], ["2016", 660], ["2017", 1030]
    ]
  }, # ...
] 

使用當前數據結構執行此操作的最簡單方法可能是:

 data = [['Year', 'Sales', 'Expenses', 'Profit'],
   ['2014', 1000, 400, 200],
   ['2015', 1170, 460, 250],
   ['2016', 660, 1120, 300],
   ['2017', 1030, 540, 350]]

@data = (1..3).map do |i|
  {
    name: data.first[i],
    data: data[1..-1].map { |x| [ x[0], x[i] ] }
  }
end

但是,以一種更接近Chartkick所需格式的格式生成數據可能會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM