如何在Ruby on Rails中根据JSON数据创建图形?

时间:2019-01-30 03:06:29

标签: ruby-on-rails json highcharts

在部署到Heroku的Ruby on Rails应用程序中,我试图显示一个简单的图形。现在,我正在使用Highcharts,但可以尝试使用任何可以在屏幕上显示带有正确数据的图形的方法。

这是从Heroku postgres数据库的ActiveRecord生成的JSON数据:

[
   {
      "id" => 1,
      "height" => "5",
      "weight" => "450",
      "body_fat" => "51",
      "created_at" => Tue, 29 Jan 2019 02:06:59 UTC +00:00,
      "updated_at" => Tue, 29 Jan 2019 02:06:59 UTC +00:00,
      "user_id" => 1
   }
]

我想要一个将权重元素相对于Updated_at元素绘制的图形。同一天可能有几个数据点,我只想绘制当天的最新数据。我用groupdate尝试了Chartkick,但是Heroku不喜欢groupdate。

1 个答案:

答案 0 :(得分:0)

高图适合您的需求。您只需要将日期“ created_at”转换为以毫秒为单位的时间戳即可。检查下面发布的演示和API链接。

代码:

series: [{
    data: [
      [1264982400000, 29.9], // [timestamp, value]
      [1267401600000, 71.5],
      [1270080000000, 106.4]
    ]
}]

演示:

API参考: