首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用json数据构建镜像

如何使用json数据构建镜像
EN

Stack Overflow用户
提问于 2021-04-20 18:10:01
回答 1查看 26关注 0票数 0

我需要一种方法来建立使用提供的json数据的图像。我有json文件,其中包含用户组合。最后,我希望将json数据转换为图像,这样每次用户进入页面时,我都需要绘制一个图表。但我对如何开始却一无所知。

json文件如下所示

代码语言:javascript
复制
 {
   {
      "time": 1585440000,
      "closing_balance": 5882.2
   },
   {
      "time": 1585526400,
      "closing_balance": 6403.31
   },
   {
      "time": 1585526400,
      "closing_balance": 7403.31
   },
   {
      "time": 1585526400,
      "closing_balance": 5403.31
   },...
}

现在,我想通过一天一次转换为图像来以图形格式显示上述数据。

EN

回答 1

Stack Overflow用户

发布于 2021-04-20 20:03:21

您的json数据非常简单,因此您可以在控制器中读取JSON文件,并将其与https://github.com/ankane/chartkick之类的gem一起使用

首先,您需要让gem能够使用您的数据,您只需要读取json文件并将日期映射到值(假设您想要一个折线图或条形图)。

在您的控制器中:

代码语言:javascript
复制
json_file = File.read('path-to-your-file.json')
data = JSON.parse(json_file)
@data = data.each_with_object({}) do |data_hash, new_hash|
  new_hash[Time.at(data_hash["time"]).to_datetime] = data_hash["closing_balance"]
end
# this will give you something like: {Sun, 29 Mar 2020 00:00:00 +0000=>5882.2, Mon, 30 Mar 2020 01:00:00 +0100=>5403.31}

在您的视图中:

代码语言:javascript
复制
  <%= line_chart @data %>

确保可能安装gem (在上面的gem链接中的文档)

注意,您当前的json文件(您发送的那个)已经损坏了,它应该是一个包含多个散列的数组,而不是一个包含多个没有键的散列的散列

代码语言:javascript
复制
[
   {
      "time": 1585440000,
      "closing_balance": 5882.2
   },
   {
      "time": 1585526400,
      "closing_balance": 6403.31
   },
   {
      "time": 1585526400,
      "closing_balance": 7403.31
   },
   {
      "time": 1585526400,
      "closing_balance": 5403.31
   }
]

并且多个时间是相同的,因此图表将只在该时间显示第一个值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67176834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档