javascript - 如何格式化 Ruby 数组以用作 Highcharts 中的数据

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

我正在尝试在 Rails 3.1 应用程序中使用 Highcharts 显示标题为“随时间推移的购买情况”的图表。

在我的函数中,我返回一个由 created_at 日期(日期格式)和购买值(value)(整数格式)组成的数组。当我在 View 中显示该函数时,它看起来像这样:

[2012-01-065002012-01-072502012-01-08130...]

翻译为:[[2012-01-06, 500], [2012-01-07, 250], [2012-01-08, 130]]

在 Highcharts JS 代码中的 View 中,我有该系列的以下内容:

    series: [{
      name: '<%= User.product_names_by_user(current_user) %>',
      pointInterval: <%= 1.day * 1000 %>,
      pointStart: <%= User.from_the_first_purchase_date(current_user) %>,
      data: <%= User.purchases_over_time(current_user) %>
    }]

from_the_first_purchase_date 是一个仅以日期格式返回首次购买日期的函数。

purchases_over_time 是有问题的函数(如上所述)。

根据我对 Highcharts API 的理解(或缺乏),我可以使用具有两个值的数组列表作为图表的数据 ( Highcharts docs ),而数组的第一个值代表 x 值,第二个是 y 值。

因此,我希望能够绘制随时间变化的购买值(value)图表。在 View 中,显示了我的图表,但没有显示数据,也没有可见的绘图点。

我也尝试过以以下格式返回数组,但无济于事:

[["2012-01-06", 500], ["2012-01-07", 250], ["2012-01-08", 130]]

有什么建议吗?

谢谢。

最佳答案

或者您可以通过 Date.parse 转换 Controller 中的日期时间,然后使用 lazy-high-chart gem 将数据发送到 HightChart 在查看器中。这是 lazy-high-chart 的网站 https://github.com/michelson/lazy_high_charts .

关于javascript - 如何格式化 Ruby 数组以用作 Highcharts 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355242/

相关文章:

ruby-on-rails - RoR - 第一个 App 项目,路由到主视图而不是/blog_entries

ruby-on-rails - 设计如何覆盖 send_confirmation_instructions

ruby-on-rails - Mongoid - 如何获得第二条记录?

ruby-on-rails - 不兼容的字符编码 : Windows-1252 and UTF-8 yml files

mysql - Rails 连接和喜欢?

javascript - 在 Javascript 中格式化日期

javascript - 将递归函数转换为递归箭头函数

javascript - 使用文本阅读器实现站点

javascript - jQuery 鼠标进入/离开

ruby-on-rails - Grape API + Active Record 包装事务