如何在折线图中显示最近的值
How to display most recent value in line chart
我在访问CSV的最后一个值(行)以在折线图中悬停显示时遇到问题。我需要将该值显示为文本,但也要用作Y坐标以与行的末尾对齐。这就是我所拥有的。第一部分有效,但第二部分无效(介于///之间):
function mouseover(d) {
d3.select(d.corporation.line).classed("corporation--hover", true);
d.corporation.line.parentNode.appendChild(d.corporation.line);
focus.attr("transform", "translate(" + x(d.date) + "," + y(d.value) + ")");
focus.select(".corpname").text(d.corporation.name);
focus.select(".ranking").text(d.value);
/////
focus.append("text")
.datum(function(d) { return {name: d.corporation.name, value: d.corporation.value[d.corporation.values.length - 1]}; })
.attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.values) + ")"; })
.text(function(d) { return d.value; });
/////
}
我尝试了几种不同的变体,但都没有成功。如果有人能登上顶峰,我会很高兴。
PLUNK在这里:http://plnkr.co/edit/1Nf992jYjSGyKhLhaij5?p=preview
谢谢!
以下是如何访问绑定到行元素的数据:this.__data__
首先,让我们创建一个变量来访问数据,特别是值数组:
var that = this.__data__.corporation.values;
然后,我们可以得到日期和行末尾的值:
var thatLength = that.length;
var thatValue = that[thatLength - 1].value;
var thatDate = that[thatLength - 1].date;
并显示文本:
someLegend
.attr("x", (x(yearFormat(thatDate))*-1)-90)
.attr("y", y(thatValue))
.text(thatValue);
以下是plunker:http://plnkr.co/edit/4HquzuJ6FJeZvEVWuUS5?p=preview
PS:我创建这个变量someLegend
是因为我没有时间理解focus
的translate
逻辑。
相关文章:
- 在我的网站上显示最近提交的文章/图片
- 在angularjs/google地图中显示分支最近的路线
- 如何在折线图中显示最近的值
- 如何使用javascript显示离我所在位置最近的纬度和经度
- 如何使用谷歌地图自动计算和显示机场的最近距离?使用jquery或javascript
- HTML未显示内容-最近工作
- 在谷歌地图API JS V3上显示距离用户当前位置最近的多个标记,距离30公里
- 我们如何在jQuery/php/mySQL中显示最近的通知
- 由于未定义的序列,不显示高图表最近点工具提示
- Jquery 需要在下一个最近的类中显示错误消息,具体取决于输入
- 仅在javascript日期在最近10天内的html页面上显示数据
- 如何显示最近插入到表中的
- 显示最近访问的任何访问者的html页面
- 找到并显示最近的标记使用DirectionsService的谷歌地图API v3的路线
- 显示隐藏最近单击的元素
- 有x轴上的时间显示最近24小时从当前时间
- 如何在express.js与node.js上显示twitter api的最近20条推文
- 如何使网页只显示最近的更新,而不是重新加载使用AJAX
- 谷歌地图显示最近的数据库标记到我的位置
- 只显示最近请求的ajax结果