我使用NVD3庫根據Rails控制器中生成的數據製作簡單折線圖。我使用生成Rails中數據的代碼是:NVD3折線圖未捕獲TypeError:無法讀取undefined屬性'x'
task.task_values.each do |u|
array.push({ :x => u.created_at.to_i * 1000, :y => u.value.to_i })
end
data_label = task.name + " ("+ task_unit +")"
taskValuesList = [{:key => data_label, :values => array}]
data = {:type => "line", :data => taskValuesList}
然後,在我看來,我有以下JS代碼:
nv.addGraph(function() {
var chart = nv.models.lineChart()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; });
chart.xAxis
.showMaxMin(false)
.tickFormat(function(d){return d3.time.format("%m/%d/%y")(new Date(d));});
chart.yAxis
.tickFormat(d3.format(',d'));
d3.select('#chart<%= i %> svg')
.datum(data.data)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
圖表呈現正常,但是當我嘗試鼠標懸停數據點顯示工具提示,我得到的錯誤「遺漏的類型錯誤:無法讀取屬性‘X’的未定義」
您能否使用傳遞給圖表的數據更新您的問題 – shabeer90
以下是一些示例數據:[{:key =>「血壓舒張(mmHg)「,:值=> [{:1373403179000,:y => 91},{:x => 1373403469000,:y => 95},{:x => 1373403567000, => 61},{:x => 1373404123000,:y => 56},{:x => 1373404515000,:y => 56},{:x => 1373404592000,:y => 56} => 1373404749000,:y => 56},{:x => 1373405085000,:y => 56}]}] – rushilg
我不知道關於ruby-on-rails,但是數據是否通過JSON對象? – shabeer90