RailsのデータベースからJSON形式でデータを取得し、D3.jsで棒グラフを表示したい
のですが、javaScriptの記述でエラーとなってしまい、グラフを表示することができません。
JSはあまり知識が無いためどのような記述が誤りがあるのかご教示いただければ幸いです。
###発生している問題・エラーメッセージ
Uncaught ReferenceError: data is not defined
エラーが出る箇所
for(var i=0,l=data.length;i<l;i++){
###該当のソースコード
views/profile/index.html.erb
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css"> <link rel="stylesheet" href="https://rawgit.com/tpreusse/radar-chart-d3/master/src/radar-chart.css"> <script src="http://d3js.org/d3.v3.js"></script> <svg id="graph"></svg> <style> svg{ width:320px; height:240px; border:2px solid black; } rect{fill:green;} .fillPink{fill:blue;} </style> <script> var arrData = <%== @profile.to_json %> for(var i=0,l=data.length;i<l;i++){ arrData.push(data[i].Ex[0]); } d3.select("#graph") .selectAll("rect") .data(arrData) .enter() .append("rect") .attr("class","fillPink") .attr("width",function(d,i){ return d; }) .attr("height",16) .attr("x",0) .attr("y",function(d,i){ return i * 24 }) </script>?>
※@profileの中身のデータ
@profile.to_json={"id":1,"Ex":26,"Co":27,"Sin":30,"Em":23,"Intel":37,"Att":25,"F":22}
回答2件
あなたの回答
tips
プレビュー