d3弧形图-添加顶部半圆
d3 arc diagram - add top semi circles
http://jsfiddle.net/pRkpL/和http://fiddle.jshell.net/pRkpL/show/
我正在制作一个弧形图,它主要基于这个演示:http://bl.ocks.org/sjengle/5431779.我花了一段时间才到达这个阶段,现在图形以我需要的所有方式适应数据。
然而,我有两个问题:
1) 我需要创建两个弧形图——一个在黑色矩形上方(代码中命名为bucket),另一个在下方。作为临时修复,我使用css33D转换将x轴上的一个弧形图翻转过来,但浏览器的支持充其量只是零散的。它确实有效,只在Chrome中有效,有时你必须刷新、打开开发工具或调整fiddle框架的大小才能启动。
我认为创建红色弧线(圆圈的下半部分)的代码是这样的:
var radians = d3.scale.linear()
.range([Math.PI / 2, 3 * Math.PI / 2]);
我发现,如果我删除最后一个/ 2
,它会显示一个完整的圆圈,但我不能让它在我的drawTop
函数中只显示上半部分。
2) 我目前为两个弧形图复制了两个大函数,drawTop
和drawBtm
。两者之间唯一的区别是数据数组(good_jumps
和bad_jumps
)、容器id和上面的弧度逻辑(如果可以解决的话)。有没有一种方法可以把这些组合成一个,这样我就不会重复逻辑了?
我是JS的新手,所以如果代码中有任何明显的错误,请告诉我:)此外,由于json来自外部api,因此不可能更改它。
要使弧出现在框的顶部,您只需要更改radians
刻度的输出范围以覆盖上半部分:
radians.range([-Math.PI / 2, Math.PI / 2]);
关于第二个问题,一种方法是在数据中添加另一个属性,以便区分两种类型的弧,例如.good
。完成后,可以打开该属性的值来决定添加路径的类和radians
的范围,这是圆弧之间的唯一区别。
在这里完成jsfiddle。
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- jQuery粘性插件可变顶部间距
- 使用jQuery更改元素的顶部位置
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 为什么获胜'这个半圆长不大
- 如何在离子框架+有角度的框架中制作顶部标签
- 计算“;“左”;以及“;顶部“;来自固定位置浮动元素的值
- 如何在引导程序元素的顶部添加掩码
- 滚动到Rails 4应用程序中的顶部jQuery
- 将列表元素动画制作到顶部
- 抵消在具有pageY计算的相对容器中位于顶部
- 输入类型按钮返回历史记录并返回顶部
- 滚动固定滚动顶部()的跳跃效果
- 如何将图表放在顶部和底部
- 通过水平滚动将页眉固定到页面顶部
- jQuery:如何检测用户何时再次滚动到顶部
- 如何向下滚动页面,使指定的元素位于顶部
- d3弧形图-添加顶部半圆