【发布时间】:2014-09-30 17:34:40
【问题描述】:
我正在尝试在此示例中重新创建 3D 饼图:http://bl.ocks.org/NPashaP/9994181
这是我的版本:http://jsfiddle.net/26v6cc8x/1/
var salesData=[
{label:"Basic", color:"#3366CC"},
{label:"Plus", color:"#DC3912"},
{label:"Lite", color:"#FF9900"},
{label:"Elite", color:"#109618"},
{label:"Delux", color:"#990099"}
];
var svg = d3.select("body").append("svg").attr("width",700).attr("height",400);
svg.append("g").attr("id","quotesDonut");
Donut3D.draw("quotesDonut", randomData(), 450, 150, 250, 150, 50, 0);
function changeData(){
Donut3D.transition("quotesDonut", randomData(), 250, 150, 50, 0);
}
function randomData(){
return salesData.map(function(d){
return {label:d.label, value:1000*Math.random(), color:d.color};});
}
$(".btn-change").click(function(){
changeData();
});
我的问题是,如何在饼图之外添加实际数据标签(不是计算的百分比)并确保它们在转换后保持正确的位置?这意味着我希望同时显示百分比和标签。
非常感谢任何帮助。谢谢!
【问题讨论】:
标签: javascript jquery d3.js