如何做中风不透明度:0与d3

时间:2016-06-02 16:40:54

标签: javascript css d3.js svg

这是我的代码。我的目标 - 在饼图中的切片之间做间隔。

chart.svg.selectAll('path')
       .style('stroke-opacity','0.0')
       .style('stroke-width','10');

我认为如果在网页上的饼图切片上笔划不透明度为0,则它​​将类似于切片之间的间隔。 问题:如果笔划不透明度等于零则不起作用。如果等于从0.1到1.0的数字 - 所有工作。但是我有另外一种颜色来自背景。 请帮助初学者!感谢您的关注,祝您度过愉快的一天。

1 个答案:

答案 0 :(得分:5)

我认为问题来自误解,当你将<input type="text" placeholder="ابحث" ng-model="search.input"> 设置为0时,笔划将是透明的并显示背景颜色,元素的填充将以笔划的内部限制结束。但实际上,如果将stroke-opacity设置为0,则会显示元素的填充(以及背景颜色,一旦笔划在默认的笔划对齐中向内和向外移动)。 / p>

例如,看看我刚刚制作的这个小提琴:https://jsfiddle.net/54j25epp/

两对矩形完全相同:

stroke-opacity

唯一的区别是,在上面一对中,我补充说:

rects.attr("x", function(d){ return d*10})
 .attr("y", 0)
 .attr("width", 100)
 .attr("height", 80)
 .attr("fill", function(d){ return color(d)})
 .attr("stroke-width", 10)
 .attr("stroke", "white")

这就是没有中风。

您可以看到,与笔划对齐无关,元素的面积和大小是相同的。检查默认笔划:

enter image description here

由黑线勾勒出的rect元素保持不变。

要完成,我才发现这个小提琴(我不知道谁是作​​者),我将笔画设置为白色,笔画宽度设置为10:这就是你想要的,模仿一个真正的填充。但是你没有得到这个结果将笔画不透明度设置为0:https://jsfiddle.net/j1769sx2/