D3.js d3响应图表中图例未正确对齐

D3.js d3响应图表中图例未正确对齐,d3.js,pie-chart,D3.js,Pie Chart,测试饼图 #容器{ 利润率:20px; } #图表{ 位置:绝对位置; 背景色:#eee; } #图表图例{ 位置:绝对位置; 利润率:100像素; } .工具提示{ 背景:#eee; 盒影:0 0 5px#999999; 颜色:#900C3F; 显示:内联块; 字体大小:12px; 左:600px; 填充:10px; 位置:绝对位置; 文本对齐:居中; 顶部:95p


测试饼图
#容器{
利润率:20px;
}
#图表{
位置:绝对位置;
背景色:#eee;
}
#图表图例{
位置:绝对位置;
利润率:100像素;
}                                                                 
.工具提示{
背景:#eee;
盒影:0 0 5px#999999;
颜色:#900C3F;
显示:内联块;
字体大小:12px;
左:600px;
填充:10px;
位置:绝对位置;
文本对齐:居中;
顶部:95px;
宽度:150px;
z指数:10;
不透明度:1;
}                                                                 
直肠{
笔画宽度:2;
}
路径{
冲程:#ffffff;
笔画宽度:0.5;
}
分区工具提示{
位置:绝对位置;
z指数:999;
填充:10px;
背景#f4;
边界:0px;
边界半径:3px;
指针事件:无;
字体大小:11px;
颜色:#080808;
线高:16px;
边框:1px实心#d4;
}
var div=d3。选择(“工具提示”);
风险值数据=[
{“IP”:“192.168.12.1”,“计数”:20},
{“IP”:“76.09.45.34”,“计数”:40},
{“IP”:“34.91.23.76”,“计数”:80},
{“IP”:“192.168.19.32”,“计数”:16},
{“IP”:“192.168.10.89”,“计数”:50},
{“IP”:“192.178.34.07”,“计数”:18},
{“IP”:“192.168.12.98”,“计数”:30}];
可变宽度=300,
高度=300;
var margin={顶部:15,右侧:15,底部:20,左侧:40},
半径=数学最小值(宽度、高度)/2-10;
变量legendRectSize=18,
legendSpacing=4;
var color=d3.scale.category20b();
var arc=d3.svg.arc()
.外层(半径);
var arcOver=d3.svg.arc()
.外层(半径+5);
var pie=d3.layout.pie()
.sort(空)
.value(函数(d){返回d.count;});
var labelArc=d3.svg.arc()
.外层(半径-40)
.内半径(半径-40);
var svg=d3.选择(“图表”).追加(“svg”)
.基准(数据)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
.附加(“g”)
.attr(“变换”、“平移”(+width/2+)、“+height/2+”);
var arcs=svg.selectAll(“.arc”)
.数据(pie)
.enter().append(“g”)
.attr(“类”、“弧”);
var arcs2=svg.selectAll(“.arc2”)
.数据(pie)
.enter().append(“g”)
.attr(“类别”、“arc2”);
arcs.append(“路径”)
.attr(“fill”,函数(d,i){返回颜色(i);})
.on(“鼠标悬停”,功能(d){
var htmlMsg=“”;
过渡部()
.样式(“不透明度”,0.9);
var total=d3.sum(data.map)(函数(d){
返回d.count;
})); 
变量百分比=数学四舍五入(1000*d.data.count/总数)/10;
div.html(
“IP:+d.data.IP+”“+”
”+ “计数:”+d.data.Count+“
”+ “百分比:”+百分比+'%'+htmlMsg) .style(“左”,“d3.event.pageX)+“px”) .style(“top”,(d3.event.pageY)+“px”); svg.selectAll(“path”).sort(函数(a,b){ 如果(a!=d)返回-1; 否则返回1; }); var endAngle=d.endAngle+0.1; var startAngle=d.startAngle-0.1; var arcOver=d3.svg.arc() .外部(半径+10)、端角(端角)、星形缠结(星形缠结); d3.选择(本) .attr(“笔划”、“白色”) .transition() .轻松(“反弹”) .持续时间(1000) .attr(“d”,arcOver) .attr(“笔划宽度”,6); }) .开启(“鼠标出”,功能(d){ 过渡部() .持续时间(500) .样式(“不透明度”,0); d3.选择(this).transition() .attr(“d”,弧) .attr(“笔划”、“无”); }) .transition() .轻松(“反弹”) .期限(2000年) .attrTween(“d”,tweenPie); 函数tweenPie(b){ b、 内半径=0; var i=d3.interpolate({startAngle:0,endAngle:0},b); 返回函数(t){返回弧(i(t));}; } var k=0; arcs2.追加(“文本”) .transition() .ease(“弹性”) .期限(2000年) .延迟(功能(d,i){ 返回i*250; }) .attr(“x”、“6”) .attr(“dy”,“.35em”) .text(func