我正在尝试在 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/