[英]Chartkick with Ruby on Rails to render a line_chart with multiple series
我有一個模型Level,它每次定義時都會記錄8個不同水箱中的水位值。 因此,每個級別都有一個:box_id
, :level_value
和aa :created_at
時間戳。 我想在line_chart中繪制這些值,其中y軸具有所有框的:created_at
值,x軸具有水平。 隨着時間的流逝,將有8個系列的液位值。
我正在使用Chartkick寶石,但沒有獲得正確的圖表。 我的控制器是這樣的:
def chart
@levels = Level.all
end
我正在嘗試在我的觀點上做到這一點:
<%= line_chart @levels.group(:box_id).group(:created_at).count %>
但是我得到這個:
似乎問題出在count()方法上,但是如果沒有這種方法,我沒有找到一種方法。
我通過將名稱和日期傳遞給line_chart找到了答案。
這是對控制器的操作:
def get_all_tanks_graph
@hash = {}
@array = Array.new
@levels = Level.get_all_tanks_levels
@levels.each do |l|
l.each do |i|
@hash[i.created_at] = i.level
end
@array << @hash
@hash = Hash.new
end
render json: @array.each_with_index.map {
|a, index| {
name: "Caixa #{index + 1}", data: a
}
}
end
這是調用操作的助手。
line_chart get_all_tanks_graph_path
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.