Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用rails将绘图数据输入highcharts_Ruby On Rails_Ruby On Rails 3_Highcharts - Fatal编程技术网

Ruby on rails 如何使用rails将绘图数据输入highcharts

Ruby on rails 如何使用rails将绘图数据输入highcharts,ruby-on-rails,ruby-on-rails-3,highcharts,Ruby On Rails,Ruby On Rails 3,Highcharts,我正在尝试找出如何将数据值输入到highcharts中。首先,我有一个home对象(@home),它有很多能量(能量表由三列组成,即消费、home\u id和消费日期) 这就是我到目前为止所做的: <script type="text/javascript"> var chart; $(function() { new Highcharts.Chart({ chart: { renderTo: "consumption_chart",

我正在尝试找出如何将数据值输入到highcharts中。首先,我有一个home对象(@home),它有很多能量(能量表由三列组成,即消费、home\u 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>
这将返回一组嵌套数组,如下所示:

[[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]]

每个嵌套数组的形式仅为[consumption\u date,consumption]。但是这不起作用(图表不显示任何数据),请有人指出我的错误,并告诉我我做错了什么。谢谢

你能试着用懒散的高图宝石吗?这样做很简单,而且可以节省您的时间

e、 g。 在控制器中

@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
鉴于,

<%= high_chart("my_id", @h) %>


谢谢,这非常完美,使绘制图表更简单、更清晰,节省了我大量的时间和挫折感。当我的图表呈现并将光标悬停在数据点上时,它会显示“无效日期”。所以我试着在我的控制器中使用这个(Date.parse()):
@data|set=@home.energies.collect{e|Date.parse(e.consumpion|u Date)}.zip(@home.energies.collect{g|g.consumpion})
得到的数据是这样的
[[Sat,2011年12月31日,1200]
。我怎样才能得到正确的格式呢。谢谢你的帮助。我想这是由你约会时间里的zip信息引起的。您能尝试删除代码中的邮政编码信息吗?我明天会检查它,找到解决方案后会给你反馈。@hisalve在我自己的代码中,我将日期作为字符串插入一个数组,并将其显示为普通类别(而不是“datetime”类型)。e、 g.
@date@date}
<%= high_chart("my_id", @h) %>