d3.js環形統計圖代碼

(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);

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,046評論 0 2
  • 1. tab列表折疊效果 html: 能源系統事業部 崗位名稱: 工作地點 崗位名...
    lilyping閱讀 1,891評論 0 1
  • 以下是常用的代碼收集,學習用。轉自豪情博客園 1. PC - js 返回指定范圍的隨機數(m-n之間)的公式 re...
    自由加咖啡閱讀 1,014評論 0 1
  • 動態效果圖: 細看上面的動態效果圖,可以發現: 一個值變換到一個新的值時,是一個漸變的過程; 圓弧末尾有一個豎線,...
    Evelynzzz閱讀 6,734評論 2 5
  • “歷史”總是有著驚人的相似。 當坐在我旁邊的姑娘拿著我的摘抄本看,并時不時問一些諸如“這都是在哪抄的呀?”“為什么...
    雨煉閱讀 790評論 2 2