ruby-on-rails - 如何使用 Rails 将绘图数据输入到 highcharts 中

标签 ruby-on-rails ruby-on-rails-3 highcharts

我正在尝试弄清楚如何将数据值输入到 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/

相关文章:

javascript - 为什么 Highcharts 中的标记点与 y 轴不对齐?

ruby-on-rails - 使用假数据生成回形针图像上传 - Ruby on Rails Populator/Faker Gems

compilation - 警告 : Nokogiri was built against LibXML version 2. 7.7,但已动态加载 2.6.16

ruby-on-rails-3 - bundle install libv8 (therubyracer) 在 Windows 上安装失败(使用 native 扩展)

ruby-on-rails - 从随机 :id to :username in rails 更改路由 URL

ruby-on-rails - 如何在 Rails 3.2 中使用 JBuilder 渲染 json

css - 如何在我自己的类定义中包含来自 twitter bootstrap 的标签信息?

ruby-on-rails - 仅显示 Rails 中字符串的前 x 个单词

highcharts - Waterfall Highchart 在 y 轴为 0 的系列之间开始一些列

javascript - HighCharts getJson - 无法显示