d3.js环形统计图代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了d3.js环形统计图代码相关的知识,希望对你有一定的参考价值。
参考技术A (function()module.exports = function(weekNormal,weekHeight,weekLow,monthNormal,monthHeight,monthLow)
//周
var weekNormaldataset = [];
var weekHeightdataset = [];
var weekLowdataset = [];
weekNormaldataset[0] = weekNormal;
weekNormaldataset[1] = 100 - weekNormaldataset[0];
weekHeightdataset[0] = weekHeight;
weekHeightdataset[1] = 100 - weekHeightdataset[0];
weekLowdataset[0] = weekLow;
weekLowdataset[1] = 100 - weekLowdataset[0];
//月
var monthNormaldataset = [];
var monthHeightdataset = [];
var monthLowdataset = [];
monthNormaldataset[0] = monthNormal;
monthNormaldataset[1] = 100 - monthNormaldataset[0];
monthHeightdataset[0] = monthHeight;
monthHeightdataset[1] = 100 - monthHeightdataset[0];
monthLowdataset[0] = monthLow;
monthLowdataset[1] = 100 - monthLowdataset[0];
var width = 100;
var height = 100;
//周
var svg = d3.select(".oneWeekNormal")
.append("svg")
.attr("width", width)
.attr("height", height);
var svg1 = d3.select(".oneWeekHeight")
.append("svg")
.attr("width", width)
.attr("height", height);
var svg2 = d3.select(".oneWeekLow")
.append("svg")
.attr("width", width)
.attr("height", height);
//月
var svg3 = d3.select(".oneMonthNormal")
.append("svg")
.attr("width", width)
.attr("height", height);
var svg4 = d3.select(".oneMonthHeight")
.append("svg")
.attr("width", width)
.attr("height", height);
var svg5 = d3.select(".oneMonthLow")
.append("svg")
.attr("width", width)
.attr("height", height);
var pie = d3.layout.pie();
//周
var weekNormalpiedata = pie(weekNormaldataset);
var weekHeightpiedata = pie(weekHeightdataset);
var weekLowpiedata = pie(weekLowdataset);
//月
var monthNormalpiedata = pie(monthNormaldataset);
var monthHeightpiedata = pie(monthHeightdataset);
var monthLowpiedata = pie(monthLowdataset);
var outerRadius = 50; //外半径
var innerRadius = 40; //内半径,为0则中间没有空白
var arc = d3.svg.arc() //弧生成器
.innerRadius(innerRadius) //设置内半径
.outerRadius(outerRadius); //设置外半径
var normalColor = ['#1BBD8F', '#E8EBED'];
var heightColor = ['#FF455B', '#E8EBED'];
var lowColor = ['#FF970C', '#E8EBED'];
//周
var arcs = svg.selectAll("g")
.data(weekNormalpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return normalColor[i];
)
.attr("d",function(d)
return arc(d);
);
var arcs1 = svg1.selectAll("g")
.data(weekHeightpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs1.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return heightColor[i];
)
.attr("d",function(d)
return arc(d);
);
var arcs2 = svg2.selectAll("g")
.data(weekLowpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs2.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return lowColor[i];
)
.attr("d",function(d)
return arc(d);
);
//月
var arcs3 = svg3.selectAll("g")
.data(monthNormalpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs3.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return normalColor[i];
)
.attr("d",function(d)
return arc(d);
);
console.log(arcs3);
var arcs4 = svg4.selectAll("g")
.data(monthHeightpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs4.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return heightColor[i];
)
.attr("d",function(d)
return arc(d);
);
var arcs5 = svg5.selectAll("g")
.data(monthLowpiedata)
.enter()
.append("g")
.attr("transform","translate("+ (width/2) +","+ (width/2) +")");
arcs5.append("path")
.attr('stroke-linecap', 'round')
.attr("fill",function(d,i)
return lowColor[i];
)
.attr("d",function(d)
return arc(d);
);
//周
arcs.append("text")
.attr("text-anchor","middle")
.text(function(d)
return weekNormaldataset[0]+"%";
);
arcs1.append("text")
.attr("text-anchor","middle")
.text(function(d)
return weekHeightdataset[0]+"%";
);
arcs2.append("text")
.attr("text-anchor","middle")
.text(function(d)
return weekLowdataset[0]+"%";
);
//月
arcs3.append("text")
.attr("text-anchor","middle")
.text(function(d)
return monthNormaldataset[0]+"%";
);
arcs4.append("text")
.attr("text-anchor","middle")
.text(function(d)
return monthHeightdataset[0]+"%";
);
arcs5.append("text")
.attr("text-anchor","middle")
.text(function(d)
return monthLowdataset[0]+"%";
);
;
).call(this);
ai的环形统计图怎么制作
参考技术A 1、首先把扇形图画出来,再复制一层;2、 然后双击混合工具会出现个对话框;
3、 分别点两个图层, 就可以做出来了。
扇形统计图是用整个圆表示总数(单位“1”),用圆内各个扇形的大小表示各部分量占总量的百分之几,扇形统计图中各部分的百分比之和是单位“1”。通过扇形统计图可以很清楚地表示出各部分数量与总数之间的关系。与折线统计图不同的是,不能反应数量变化趋势;与条形统计图不同的是,不能很容易看出各种数量的多少。 参考技术B
具体步骤见详图,不懂的可以留言或者百度私信我。
没有设定具体数值,你可以自己尝试各种数值来熟悉这个工具的性能。
纯手打,满意请采纳!
以上是关于d3.js环形统计图代码的主要内容,如果未能解决你的问题,请参考以下文章