Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 您能在d3中创建具有不同切片大小的饼图吗?_Javascript_D3.js_Wolfram Language - Fatal编程技术网

Javascript 您能在d3中创建具有不同切片大小的饼图吗?

Javascript 您能在d3中创建具有不同切片大小的饼图吗?,javascript,d3.js,wolfram-language,Javascript,D3.js,Wolfram Language,我正在尝试制作类似于d3()中Wolfram的SectorChart的东西。我目前使用的是一组基本数据 [ { label:0, radius:1 }, { label:1, radius:1 }, { label:2, radius:2 }]; 我试着用下面的函数来改变圆弧的外半径 var arc = d3.arc() .innerRadius(0) .outerRadius(function(d) { return d.radius * 100; }) 但这不起作

我正在尝试制作类似于d3()中Wolfram的SectorChart的东西。我目前使用的是一组基本数据

[ { label:0, radius:1 }, { label:1, radius:1 }, { label:2, radius:2 }];
我试着用下面的函数来改变圆弧的外半径

var arc = d3.arc()
      .innerRadius(0)
      .outerRadius(function(d) { return d.radius * 100; })
但这不起作用。甚至可以在d3中这样做吗?如果是这样,我走的路对吗?谢谢

对你有用吗

是的,你可以

您缺少的是,您不能直接访问
d.radius
,因为饼图布局应用于数据,它将旧数据包装到
data
属性,因此您的代码应该是这样的

var arc = d3.arc()
      .innerRadius(0)
      .outerRadius(function(d) { return d.data.radius * 100; })
拨弄

var-arc=d3.svg.arc()
.内半径(0)
.outerRadius(函数(d,i){
返回d.data.radius*100
});
var pie=d3.layout.pie()
.sort(空)
.value(函数(d){返回d.radius;});
var svg=d3.select('#result')。append('svg')。attr('width',500)。attr('height',500)
svg.selectAll('path')
.data(饼图([{label:0,radius:1},{label:1,radius:1},{label:2,radius:2}]))
.输入()
.append('路径')
.attr('d',弧)
.attr('transform','translate(250250)'
.attr('fill','yellow')
.attr('stroke','black')

嘿,伙计!作为您评论的后续,我们如何仅在形状的周长上添加笔划?(或移除内部冲程)