Javascript 将标签添加到D3行

Javascript 将标签添加到D3行,javascript,d3.js,Javascript,D3.js,我想添加在折线图上显示值的标签,但我不知道如何执行此操作 var svg = d3.select('svg') .attr("width", width) .attr("height", height); var g = svg.append("g") .attr("transform", "translate(" + 0 + "," + 0 + ")"); var x = d3.scaleTime() .rangeRound([0,

我想添加在折线图上显示值的标签,但我不知道如何执行此操作

var svg = d3.select('svg')
      .attr("width", width)
      .attr("height", height);

  var g = svg.append("g")
      .attr("transform", "translate(" + 0 + "," + 0 + ")");

  var x = d3.scaleTime()
      .rangeRound([0, width]);

  var y = d3.scaleLinear()
      .rangeRound([height, 0]);

  var line = d3.line()
      .x(function(d) { return x(d.date)})
      .y(function(d) { return y(d.value)})
      x.domain(d3.extent(data, function(d) { return d.date }));
      y.domain(d3.extent(data, function(d) { return d.value }));
我不知道如何添加标签,比如这里(尽管我的案例更简单,因为我只有一个图表)


我在这里生成了一些随机数据。添加文本标签的相关代码:

g.selectAll('.textLabels')
.data(data).enter()
.append('text')
.classed('textLabels', true)
.attr('x', function(d) { return x(d.date); })
.attr('y', function(d) { return y(d.value); })
.text(function(d) { return d.value; });
根据数据数组中的
x
(日期)和
y
(值)值定位。您可以使用
dx
dy
属性调整偏移量,并使用一些样式来
填充/笔划
文本。
var数据=[];
函数随机日期(开始、结束){
返回新日期(start.getTime()+Math.random()*(end.getTime()-start.getTime());
}
对于(变量i=0;i b.日期?-1:1;
})
变量宽度=800,高度=400;
var svg=d3。选择('svg')
.attr(“宽度”,宽度)
.attr(“高度”,高度);
var g=svg.append(“g”)
.attr(“转换”、“转换”(“+0+”,“+0+”));
var x=d3.scaleTime()
.rangeRound([0,宽度]);
变量y=d3.scaleLinear()
.rangeRound([高度,0]);
var line=d3.line()
.x(功能(d){
申报表x(截止日期)
})
.y(功能(d){
返回y(d值)
})
x、 域(d3)。范围(数据,函数(d){
返回日期
}));
y、 域(d3)。范围(数据,函数(d){
返回d值
}));
g、 附加(“路径”)
.基准(数据)
.attr(“填充”、“无”)
.attr(“笔划”、“钢蓝”)
.attr(“笔划线条连接”、“圆形”)
.attr(“笔划线头”、“圆形”)
.attr(“笔划宽度”,1.5)
.attr(“d”,行);
g、 选择全部(“.textLabels”)
.data(data).enter()
.append('文本')
.classed('textLabels',true)
.attr('x',函数(d){返回x(d.date);})
.attr('y',函数(d){返回y(d.value);})
.text(函数(d){返回d.value;})

很高兴我能帮忙。快乐编码!