D3で円グラフをajaxでテキストファイルをよみこんで表示
テキストに$data=$_POST["item"].",".$_POST["tanka"].",".$_POST["zaiko"]."¥n";と保存できるようにしました。
この在庫の円グラフを作る際に2点わかりません。
1.円グラフのパラメーターにテキストファイルの目的のデータをどうおとすか。
2.円グラフの中心がうまく設定できません。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>練習問題</title>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<h1>商品の数をグラフにしてみる</h1>
<div id="myGraph"></div>
</body>
</html>
<script src="jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(function(){
$.ajax({
url:"list150520.txt",
cache:false,
success:function(data){
a=data.split("¥n"); //a[0]=(例)りんご、100、20
a.pop();
$.each(a,function(key,value){
b=value.split(","); //在庫はb[2]
b.pop();
var item=[b[0]]; //りんご、みかん、いちご・・・としたい
var list=[b[2]]; //100、40、50・・・としたい
var svgWidth=320;
var svgHeight=240;
var svg=d3.select("#myGraph").append("svg")
.attr("width",svgWidth).attr("height",svgHeight)
var pie=d3.layout.pie()
.value(function(d){return d;})
var arc=d3.svg.arc().innerRadius(0).outerRadius(100);
svg.selectAll("path")
.data(pie(list))
.enter()
.append("path")
.attr("d",arc)
.attr("stroke","white")
.attr("fill",function(d,i){
return color(i);
})
.attr("transform","translate("+svgWidth/2+","+svgHeight/2+")")
});
}
});
});
</script>
<style type="text/css">
svg{ border:1px solid black;}
h1{ font-size:1.25em;
font-weight:bold;}
p{
margin:0;
padding:0;
width:320px;
border:1px dotted gray;}
</style>