0
내 응용 프로그램에서 csv의 다른 그래프를 표시하기 위해 Highcharts를 사용하고 있지만 이제 URL (test.com/data/data1,temp)에서 JSON 데이터에 액세스해야하며 확실하지 않습니다. 이 시나리오에 최선의 대처 방법.URL의 JSON 데이터
JSON 데이터는 같은 포맷 :
{"status": "ok", "data": [{"2013-10-01 00:00:00": 19.6}, {"2013-10-01 01:00:00": 19.1}, {"2013-10-01 02:00:00": 18.4}, {"2013-10-01 03:00:00": 17.9}, {"2013-10-01 04:00:00": 17.5}, {"2013-10-01 05:00:00": 17.2}, {"2013-10-01 06:00:00": 17.2}, {"2013-10-01 07:00:00": 17.4}]}
난 각 차트를 생성하기 위해 (30 곳이 있기 때문에) 입력 폼에 URL을 설정했다. 또한 두 결과를 구분하는 최선의 방법이 확실하지 않습니다. 예를 들어, 첫 번째 '날짜'는 두 번째 '온도'입니다.
@data = JSON.parse(open("test.com/data/data1,temp").read)
@dates = Array.new
@temperatures = Array.new
@data['data'].each do |d|
@dates.push(d.keys)
@temperatures.push(d.values)
end
@graph = LazyHighCharts::HighChart.new('graph') do |f|
f.chart(:height => '300')
f.yAxis [:title => {:text => "Temperature", :margin => 20, style: { color: '#333'}}]
f.series(:type => 'line', :name => 'Temperature', :data => @temperatures)
f.xAxis(:categories => @dates, labels: {overflow: 'justify', :rotation => 90, :step => 10})
end
어떤 도움을 주시면 감사하겠습니다.
감사합니다. 킬리안은 엄청난 도움을주었습니다. 그래프에는 값 데이터를 표시 할 수 없지만 코드가 업데이트되었습니다. – DollarChills
HighChart가 시리즈 번호를 원하기 때문에 (그 세부 정보는 잊어 버렸습니다.) 그래서 @ temp.push (d.values.to_i)와 같은 정수로 @temperatures 값을 넣으십시오. – Kilian
도움을 주셔서 감사합니다 Kilian. – DollarChills