Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向直方图添加数据标签所需的帮助-d3_Javascript_D3.js - Fatal编程技术网

Javascript 向直方图添加数据标签所需的帮助-d3

Javascript 向直方图添加数据标签所需的帮助-d3,javascript,d3.js,Javascript,D3.js,这是我的建议 我已经创建了一个响应性的直方图 我想给它添加数据标签 我用这个密码试过了。但这对我没有帮助 svg.selectAll("text") .data(histogram) .enter() .append("text") .attr("x", function(d) { return x(d.x); }) .attr("y", function(d) { retur

这是我的建议

我已经创建了一个响应性的
直方图

我想给它添加数据标签

我用这个密码试过了。但这对我没有帮助

svg.selectAll("text") .data(histogram) .enter() .append("text") .attr("x", function(d) { return x(d.x); }) .attr("y", function(d) { return y(d.y); }) .text(function(d) { return d; }) svg.selectAll(“文本”) .数据(柱状图) .输入() .append(“文本”) .attr(“x”,函数(d){返回x(d.x);}) .attr(“y”,函数(d){返回y(d.y);}) .text(函数(d){return d;}) 请帮我解决这个问题

我想我做得很好

但是我不知道为什么还没有创建文本元素


提前谢谢

您的代码有3个小问题:

  • .selectAll(“text”)
    选择为轴添加的
    text
    元素,将给定数据与它们匹配,并且您的
    .enter()
    选择为空。因此,不会添加新文本。您可以通过为文本标签指定一个区分类来解决此问题
  • y位置应为高度-y(y.y)
  • 您可能不希望将整个对象显示为标签,而只希望
    d.y
下面的代码解决了这些问题

svg.selectAll("text.label")
        .data(histogram)
        .enter()
        .append("text")
        .attr("class", "label")
        .attr("x", function(d) { return x(d.x); })
        .attr("y", function(d) { return height - y(d.y); })
        .text(function(d) { return d.y; })

完成演示。

感谢您的介绍。我还想添加对应于某个值的行。假设你认为是240。如果我给240号公寓。它移动了240像素。如果我给y(240)它给了我一些值。如果我给出
x(240)
。它说我
x
没有定义。请帮帮我?你得给我更多的上下文。我最好把它作为一个单独的问题发布。下面是答案。