pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
// 色セット、データセットの数:3個 var city = ["New York", "San Francisco", "Los Angeles"]; var colors = ["#FF0000", "#009933" , "#0000FF"]; // データと色をマッピング var color_scale = d3.scaleOrdinal() .domain( city ) // 入力 .range(colors) ; // 出力
// データセット(city)の数が色セットより多い var city = ["New York", "San Francisco", "Los Angeles", "東京", "大阪","埼玉","千葉"]; var colors = ["#FF0000", "#009933" , "#0000FF"];
// 入力データ、出力の色範囲を決める var color_scale = d3.scaleLinear() .domain([-1,0,1]) // 入力データ範囲:-1~1 .range(['red','yellow','green']) // 出力色範囲: 赤―黄色―緑 ; var data_set = d3.range(-1, 1, 0.2) ;// データを10個生成
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;
pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() // アニメーション開始 .ease(d3.easeBounce) // アニメーション効果 .duration(2000) // アニメーション持続時間 .attrTween("d", tweenPie) ;
function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); // 角度ゼロから所定値までの変換 return function(t) { console.log( arc(i(t)) ); // コンソールにてパイの描画計算結果の確認 return arc(i(t)); }; }
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var forground_arc = d3.arc() .startAngle(0) .endAngle(Math.PI*2*0.75) .outerRadius(200) .innerRadius(0) ; var forground_tween = d3.arc() .startAngle(Math.PI*2) .endAngle(0) .outerRadius(200) .innerRadius(0) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory20 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) .transition() .ease(d3.easeBounce) .duration(2000) .attrTween("d", tweenPie) ; pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ; function tweenPie(b) { var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); return function(t) { return arc(i(t)) ; }; }
// 色の範囲を設定 var i = d3.interpolate({colors: ["red", "blue"]}, {colors: ["white", "black"]}); // 値を渡して、色の換算 i(0.0); // {colors: ["rgb(255, 0, 0)", "rgb(0, 0, 255)"]} i(0.5); // {colors: ["rgb(255, 128, 128)", "rgb(0, 0, 128)"]} i(1.0); // {colors: ["rgb(255, 255, 255)", "rgb(0, 0, 0)"]}
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ;
var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) // 描画データのval要素をパイチャートの始点/終点に (data_set) ; // 描画データを渡す
var arc = d3.arc() .outerRadius( 200) // パイチャートの外側の半径 .innerRadius( 0 ) // パイチャートの内側の半径 ; var pie_chart = d3.select("#content") // 描画領域の取得 .selectAll(".arc") .data(pie_data) // パイチャートデータ配列をセット .enter() // 配列分のデータを新規作成したエレメントにバインドする .append("g") // 新規エレメント作成 .attr("class", "arc") .attr("transform", "translate(300, 200)") // 描画領域の中心に移動 ; pie_chart.append("path") // pathエレメントの作成 .attr("d", arc) // 円弧の描画 .style("fill", function(d,i){ return color_scale( d.data.val ) ; })
var label_arc = d3.arc() .outerRadius( 150 ) // 外側の半径 .innerRadius( 150 ) // 内側の半径 ;
pie_chart.append("text") // 各パイにテキストエレメントを追加 .attr("transform", function(d) { // テキストを指定した場所に移動させ return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) // テキストの表示 ;
var data_set = [ {name:"aaa", val:58}, {name:"bbb", val:88}, {name:"ccc", val:48}, {name:"ddd", val:73}, {name:"eee", val:81}, {name:"fff", val:31} ] ; var pie_data = d3.pie() .sort(null) .value(function(d){return d.val;}) (data_set) ; var color_scale = d3.scaleOrdinal() .domain( d3.min(data_set, function(d){ return d.val; }), d3.max(data_set, function(d){ return d.val; })) .range( d3.schemeCategory10 ) ; var arc = d3.arc() .outerRadius( 200 ) .innerRadius( 0 ) ; var label_arc = d3.arc() .outerRadius( 150 ) .innerRadius( 150 ) ; var pie_chart = d3.select("#content") .selectAll(".arc") .data(pie_data) .enter() .append("g") .attr("class", "arc") .attr("transform", "translate(300, 200)") ; pie_chart.append("path") .attr("d", arc) .style("fill", function(d,i){ return color_scale( d.data.val ) ; }) pie_chart.append("text") .attr("transform", function(d) { return "translate("+label_arc.centroid(d)+ ")" }) .text(function(d){return d.data.name }) ;