【问题标题】:Postgresql data to highchartPostgresql 数据到 highchart
【发布时间】:2017-01-24 04:48:14
【问题描述】:

我正在尝试使用存储在 postgresql db 中的数据和下面的代码创建一个简单的条形图。图表的轴出现,但数据不显示。 当我访问http://127.0.0.1:3000/test.json 时,数据以这种格式显示:

[{"value":4.0},{"value":1.0},{"value":4.0},{"value":2.0},{"value":2.0},{"value ":3.0},{"value":2.0}]

所以我尝试将此格式更改为 [],[],[],然后将其与 highchart 一起使用。但我似乎 $.getJSON 和我的循环 for (i=0.... 不起作用。

<div id="orders_chart" style="width:560px; height:300px"></div>
<script type="text/javascript" charset="utf-8">
$(function () {
var test = [];
$.getJSON('http://127.0.0.1:3000/test.json', function(data) {
  for (i = 1; i < data.length; i++){
    test.push([data[i].key, data[i].value]);
  }
  $('#orders_chart').highcharts({
    chart: {
      type: "column"
    },
    title: {
      text: "Orders by Day"
    },
    series: [{
      data: test
    }]
  });
});

如果有人知道如何修复它或其他方法将 highcharts 与 postgres 数据库(从 csv 上传文件存储)一起使用,将对我有很大帮助!

【问题讨论】:

  • 您应该在服务器端解决这个问题并将正确的数据发送到客户端。如果您的数据点格式是{"value":4.0},那么您为什么要尝试在data[i].key 中访问keytest.push(data[i].value); 应该可以工作。 test 数组在 Highcharts 中使用之前的外观如何?

标签: ruby-on-rails json ruby postgresql highcharts


【解决方案1】:

在 ruby​​ 中,您可以创建 test

def user_dataset(data)
  data.map do |key, value|
    {
       key[:value]
    }
  end
end

这将返回 [4.0, 1.0, 4.0, 2.0, 2.0, 3.0, 2.0] 中的数据

根据高图的条形图实现示例 example 您需要格式的数据

series: [{
        name: 'Year 1800',
        data: [107, 31, 635, 203, 2]
    }]

因为你的案例数据是测试,你可以用价值代替名字

【讨论】:

  • 我试过了,但它不起作用。我将 user_dataset 方法添加到 test_controller.rb 并在 highcharts 代码中定义了 data: user_dataset(data)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多