如何为Highchart创建数组?

时间:2011-02-17 15:51:47

标签: ruby-on-rails highcharts

我正在尝试为高级图表创建一些数组。我看过有关如何创建高图的铁路广播剧集。 http://railscasts.com/episodes/223-charts

这是我的一些Highchart JavaScript代码 :

  series: [

  {
    name: "Indtjening",
    pointInterval: <%= 1.day * 1000 %>,
    pointStart: <%= 1.day.ago.to_i * 1000%>,
    data: <%= Reklamer.sum(:earn, :order => :dato , :group => :dato).values %>
  },
   {
    name: "Iqmedier",
    color: '#DBD200',
    pointInterval: <%= 1.day * 1000 %>,
    pointStart: <%= 1.day.ago.to_i * 1000 %>,
    data: <%= Reklamer.where(:virksomhed => 'Iqmedier').all.map(&:earn) %>
  }
  ,
   {
    name: "Euroads",
    color: '#1B7B94',
    pointInterval: <%= 1.day.to_i * 1000 %>,
    pointStart: <%= 1.day.ago.to_i * 1000 %>,
    data: <%= Reklamer.where(:virksomhed => 'Euroads').all.map(&:earn) %>
  }]

我的表:

id  virksomhed  dato                   earn     
10  Iqmedier    2011-02-15 00:00:00     0   
11  Euroads     2011-02-01 00:07:24     144   
15  Iqmedier    2011-02-15 00:00:00     5   

我的图表 - 正如您所看到的,Iqmedier的日期错误(2月17日),所有其他酒吧的日期也错了。 ![我的图表] [1] http://i.stack.imgur.com/E1MIN.png

Indtjening应该取Iqmedier和Euroads的总和,并从dato列中的最后一个日期开始。

如何在dato中找到最后一个日期并将其创建为整数?

1 个答案:

答案 0 :(得分:0)

要将这些日期转换为HighCharts,您必须执行以下操作:

dato.utc.to_i*1000

这可以解决您的数据问题。

请注意,您必须乘以(* 1000)才能获得毫秒“格式”。