D3.js multigraph:在x轴上输出滑块值的相对Y值,并与SVG点位置匹配
D3.js multigraph: Output Relative Y Value of a Slider Value on the X-Axis, and match to SVG point location
我有一个从。tsv文件处理成这个半交互式线形图的3线图:http://infinitepartycles.com/plotGraphMultipleTSV/
代码:http://codepen.io/ferret/pen/BoxKyX你会注意到Y值标记"匹配"到X值是错误的;那个白色的#是<y(价值)>。
我希望它输出相对Y值到任何滑动条值,但是当我挖掘到任何一行的数组时,我得到未定义…什么好主意吗?
旁注:这里的输出行:
var p1 = city.append("path") //Add the 3 coloured lines for transport type
.attr("class", "line")
.attr("id", function(d) { return d.name; }) // ID of transport type
.attr("d", function(d) { return line(d.values); }); //data of all Y values
为什么我不能得到一个值,如果我console.log(d)在这里?
我觉得你把刷过的事件弄得太复杂了。它可以重写为:
function brushed() {
var value = brush.extent()[0].toFixed(0);
if (d3.event.sourceEvent) { // not a programmatic event
value = x.invert(d3.mouse(this)[0]).toFixed(0);
brush.extent([value, value]);
}
handle.attr("cx", x(value));
if (value <= 1) value = 1;
circleBus
.attr("opacity", 1)
.attr("cx", x(value))
.attr("cy", y(transports[0].values[value-1].people));
circlePlane
.attr("opacity", 1)
.attr("cx", x(value))
.attr("cy", y(transports[1].values[value-1].people));
circleTrain
.attr("opacity", 1)
.attr("cx", x(value))
.attr("cy", y(transports[2].values[value-1].people));
}
相关文章:
- 如何创建加号[+]减号[-]切换,以扩展链接列表,并与Opera Mini兼容
- 如何测试前端JavaScript库并与Travis集成
- 引用href值并与其他值进行比较
- 是否可以以编程方式打开安卓设备的蓝牙并与其他设备连接
- 如何共享 PDF 并与之远程交互
- 获取当前时间并与数组进行比较
- 循环数组并与正则表达式进行比较
- 在 Java 应用程序中嵌入类似浏览器的视图并与之交互
- 在javascript中将字符串转换为日期时间并与当前时间进行比较
- 从选择中获取值并与数据库进行比较以获得价格
- 将相对网址与 window.open 一起使用
- 在jquery中,json对象How中的每个循环(使循环从对象中找到一个值,并与另一个对象值进行比较,以避免重复打印)
- 用javascript对象数组中的日期对事件进行排序,并与当前日期进行比较以显示在表单中
- 在JSON对象中合并并与进行比较
- 拆分逗号分隔的值并与复选框值匹配,然后选中该复选框及其父复选框
- 如何搜索数组数组,并与第一个元素进行比较
- 严重被WOW.js难住,并与animate.css融合
- 每隔几秒钟更改一个元素并与动画同步
- 填充和添加选择选项并与数据库同步
- D3.js multigraph:在x轴上输出滑块值的相对Y值,并与SVG点位置匹配