- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现 David Bueza's Pie chart labels在我自己的饼图中。我尝试根据我的需要调整使用的代码,到目前为止取得了成功。然而有趣的事情发生了。一件事是我的线条从饼图的外部开始,另一件事是两个标签在通往它们的线条中具有奇怪的弧线。
我创建了一个 plunk for you to look at ,我想知道是否有人可以告诉我这是什么原因造成的。我认为这两个问题都是由这段代码中的 pos 标识符引起的:
return function(t) {
var d2 = interpolate(t);
var pos = outerArc.centroid(d2);
pos[0] = radius * 0.95 * (midAngle(d2) < Math.PI ? 1 : -1);
return [arc.centroid(d2), outerArc.centroid(d2), pos];
};
但我找不到准确解决此问题的方法。
编辑1:感谢this question我已经设法修复了仅到达圆圈边缘的线条。这与 SVG 的绘制顺序有关。更新后的 Plunkr:link 。弧线问题仍然存在。
最佳答案
您看到的“弧线”只是从标签到弧线的路径。要解决此问题,只需编辑路径结束的位置:
pos[0] = radius *1.2* (midAngle(d2) < Math.PI ? 1 : -1);
之前 1.2 是 0.95。这解决了这个问题。
您遇到的另一个问题是,您希望路径在到达切片外部时结束。您通过重新排列路径和切片的绘制顺序解决了这个问题,太棒了。但您现在需要鼠标悬停
来更改切片的不透明度。现在显然,当您执行此操作时,您现在可以看到后面的路径。
为了解决这个问题,我会在路径和切片之间放置一个白色圆圈,这样您就看不到路径。所以现在的顺序是:
paths > white circle > slices
添加圆圈的代码:
重新排序 g 元素:
svg.append("g")
.attr("class", "lines");
svg.append("g")
.attr('class', 'circleBehind')
svg.append("g")
.attr("class", "slices");
svg.append("g")
.attr("class", "labels");
添加圆圈:
var circleBehind = svg.select('.circleBehind').append('circle')
.attr('r',radius * 0.95)
.attr('cx',0)
.attr('cy',0)
.style('fill','white')
这可能是最简单的方法,否则你必须计算出路径的终点等
更新了plnkr:http://plnkr.co/edit/53SvO9ym6euMAwGfIpcU?p=preview
关于javascript - 实现 David Bueza 使用的饼图标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37436158/
我正在尝试实现 David Bueza's Pie chart labels在我自己的饼图中。我尝试根据我的需要调整使用的代码,到目前为止取得了成功。然而有趣的事情发生了。一件事是我的线条从饼图的外部
问题是,以下警报会发生什么: function bar() { return foo; foo = 10; function foo() {} var foo = '1
如果有人完成或正在关注 David Turnbull 的“创建您的第一个 Meteor 应用程序”,这是一个问题。 第 102 页上显示“在“添加玩家”表单中添加“分数”字段,允许用户在将玩家提交到列
我正在寻求有关如何使用 David Bradshaw 的 iframe resizer 的帮助?我打算在博客上使用它,因为我使用 iframe 来显示跨域内容,我希望 iframe 根据其内容的大小调
Quiz 需要一些帮助: 问题 5: function bar() { return foo; foo = 10; function foo() {} var foo
jsfiddle of the problem with the space of the flip 这是来自 david walsh's blog 的代码 两个元素之间有一个空格,尽管似乎没有指定边
我观看了screencast来自 David Beazly,他使用多重或更具体的菱形继承(钻石问题)来实现类型检查。我认为他的方法看起来真的很酷,但这也让我感到困惑,我根本不明白它是如何工作的。这是我
http://desandro.com/如果您滚动到页面底部,它会显示:大卫迪桑德罗做了这个。 在悬停时它有一个很棒的效果谁知道如何使用 http://designobvio.us/DoUs/dire
我正在尝试安装本书附带的代码:https://sites.google.com/site/cinterfacesimplementations/ 按照作者在此处给出的说明进行操作:http://cii
我意识到这是一个高度特化的问题.. 但在这里。我正在使用 SIFT 的实现来查找两个图像上的匹配项。使用我当前的实现,当我将图像与 90 度或 180 度版本匹配时,我得到的匹配一致地偏离了大约半个像
过去几天我一直在使用 RDAVIDWebService,今天早上突然出现以下错误。我在 Windows 7 计算机上使用 R 3.1.1,尽管我可以切换到另一台计算机并得到相同的错误。谁能告诉我这个错
我在一本书中读过这句话: There is no problem in computer science that can't be solved using another level of ind
我有一个 Teamspeak 状态查看脚本托管在与我的 wordpress 不同的域上。因此,我尝试使用 iframe 在 text/html 小部件中显示脚本结果,但它不会自动调整高度。 Wordp
我正在使用 David Piegza 的开源代码,通过 Three.js 可视化 3D 力导向图。源代码可以在这里找到:https://github.com/davidpiegza/Graph-Vis
我尝试使用 David Lowe's implementation 对几个不同的对象进行对象检测和 OpenCV implementation (只是在此代码中更改了 'SurfFeatureDete
我正在使用来自 http://www.netlib.org/fp/dtoa.c 的 David M. Gay 的 dtoa() 函数在 Rebol3 解释器中实现 MOLD 功能。它运行良好,在 Li
天真的问题,但这是我在 JSF 中的第一步,所以请原谅我 ;-) 我正在遵循 David Geary、Cay S. Horstmann 的“Core JavaServerFaces”(第 3 版)中第
我是一名优秀的程序员,十分优秀!