我在使用 Lazy Highcharts gem 将一些 JSON 数据解析为高图表时遇到了一些问题。我试图只选择过去 7 天或 1 周前的数据。在这个阶段,我的应用程序只是挂起并且没有加载下面的代码。
我正在从链接加载 JSON 数据。我尝试了 pointStart 选项,但它似乎不起作用。
任何帮助,将不胜感激。
JSON
{"status": "ok", "data": [{"2014-06-16 16:00:00": 24.2},{"2014-06-17 12:00:00": 30.2},{"2014-06-18 17:00:00": 42.9}]} etc
控制器
@data = Oj.load(open(@temperature.url).read)
results = []
@data['data'].each do |data|
results << ((7.day.ago.to_i * 1000)..(Date.today.to_i * 1000)).map { |date| [DateTime.parse(data.keys.first).to_i * 1000 == date, data.values.first] }
end
@graph = LazyHighCharts::HighChart.new('graph') do |f|
f.chart(:height => '400', width: '860')
f.yAxis [:title => {:text => "Temperature, :margin => 20, style: { color: '#333'}}]
f.series(:type => 'line', :name => 'Temperature', pointStart: 7.day.ago.to_i * 1000, data: results, marker: {enabled: false}, :color => '#00463f' )
f.xAxis(:type => 'datetime', tickInterval: 1.day.to_i * 1000, :tickmarkPlacement => 'on', :startOnTick => true )
f.legend({:align => 'center', :verticalAlign => 'top', :y => 0, :borderWidth => 0, style: {color: "#333"}})
end