d3.js的学习_04_扇形图

代码:

var dataset=[20,4,5,70,30];
var piedata=d3.layout.pie(dataset);  //将dataset转化为能被用元表示的数组
var color=d3.scale.category10();

var width=300;
var height=300;


var outerRadius=width/2;//外半径
var innerRadius=0;//内半径
var arc=d3.svg.arc()
    .outerRadius(outerRadius)
    .innerRadius(innerRadius);//生成缺少角度的弧

var svg=d3.select("body")
    .append("svg")
    .attr("width",width)
    .attr("height",height);

var arcs=svg.selectAll("g")
        .data(piedata(dataset))
        .enter()
        .append("g")
        .attr("transform","translate("+(width/2)+","+(width/2)+")");//创建一个含有dataset长度的组"g"s

arcs.append("path")
    .attr("fill",function(d,i){
        return color(i);
    })
    .attr("d",arc);//为这个组的弧形s定义颜色与角度

arcs.append("text")
    .attr("transform",function(d){
        return "translate("+arc.centroid(d)+")";//将text定义在每一个弧形的中央
    })
    .attr("text-anchor","middle")
    .text(function(d){
        return d.value;
    });

更多参考文章:

https://blog.csdn.net/roll_jj/article/details/76019695

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码看起来没有明显的错误,但是最后一行的分号是多余的,应该将其删除。下面是修改后的代码: ``` def confirm(self): selected_options = [] if self.var_A.get(): selected_options.append("A") self.var_A1.config(state="normal") self.var_A2.config(state="normal") self.var_A3.config(state="normal") else: self.var_A1.set(False) self.var_A2.set(False) self.var_A3.set(False) self.var_A1.config(state="disabled") self.var_A2.config(state="disabled") self.var_A3.config(state="disabled") if self.var_B.get(): selected_options.append("B") self.var_B1.config(state="normal") self.var_B2.config(state="normal") self.var_B3.config(state="normal") else: self.var_B1.set(False) self.var_B2.set(False) self.var_B3.set(False) self.var_B1.config(state="disabled") self.var_B2.config(state="disabled") self.var_B3.config(state="disabled") if self.var_C.get(): selected_options.append("C") self.var_C1.config(state="normal") self.var_C2.config(state="normal") self.var_C3.config(state="normal") else: self.var_C1.set(False) self.var_C2.set(False) self.var_C3.set(False) self.var_C1.config(state="disabled") self.var_C2.config(state="disabled") self.var_C3.config(state="disabled") if self.var_D.get(): selected_options.append("D") self.var_D1.config(state="normal") self.var_D2.config(state="normal") self.var_D3.config(state="normal") else: self.var_D1.set(False) self.var_D2.set(False) self.var_D3.set(False) self.var_D1.config(state="disabled") self.var_D2.config(state="disabled") self.var_D3.config(state="disabled") self.controller.show_second_page(selected_options) ``` 注意,我删除了最后一行的分号,并对代码进行了缩进以提高可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值