我正在尝试弄清楚如何将数据值输入到 highcharts 中。首先,我有一个home对象(@home),它有许多能量(能量表由三列组成,即消耗,home_id和消耗_日期)
这是我到目前为止所拥有的:
<script type="text/javascript">
var chart;
$(function() {
new Highcharts.Chart({
chart: {
renderTo: "consumption_chart",
},
title: {
text: "Consumption - <%= @home.name %>"
},
xAxis: {
type: 'datetime',
},
yAxis: {
title: {
text: "Power"
}
},
series: [{
data: <%= @data_set %>
}]
});
});
</script>
对于数据部分,我得到了这样的所有值
@data_set = @home.energies.collect{|e| e.consumption_date.utc}.zip(@home.energies.collect{|g| g.consumption})
这将返回一组嵌套的数组,如下所示:
[[2012-03-02 09:06:00 UTC, 1200], [2012-04-30 00:00:00 UTC, 1145], [2012-04-30 00:00:00 UTC, 1158], [2012-05-31 00:00:00 UTC, 1145]]
每个嵌套数组的形式都是[消费日期,消费]。然而,这不起作用(图表不呈现任何数据),请有人指出我的错误并告诉我我做错了什么。谢谢
最佳答案
你能尝试使用lazy-high-chart gem吗?这很简单,并且可以节省您的时间。
https://github.com/michelson/lazy_high_charts
例如 在 Controller 中,
@h = LazyHighCharts::HighChart.new('graph') do |f|
f.options[:chart][:defaultSeriesType] = "area"
f.series(:name=>'John', :data=>[3, 20, 3, 5, 4, 10, 12 ,3, 5,6,7,7,80,9,9])
f.series(:name=>'Jane', :data=> [1, 3, 4, 3, 3, 5, 4,-46,7,8,8,9,9,0,0,9] )
end
在 View 中,
<%= high_chart("my_id", @h) %>
关于ruby-on-rails - 如何使用 Rails 将绘图数据输入到 highcharts 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536177/