如何在d3.axis.tickFormat中打破一行?

时间:2013-11-18 21:46:49

标签: javascript d3.js

我想编写一个函数,它返回带有两行文本的刻度标签。我可以看到,svg文本标签用于文本标签。有没有办法在那里添加tspan?

1 个答案:

答案 0 :(得分:3)

您可以访问axis创建的元素:Demo

d3.select('svg')
  .append('g')
  .attr('transform', 'translate(180, 10)')
  .call(xAxis)
  .selectAll('text') // `text` has already been created
  .selectAll('tspan')  
  .data(function (d) { return bytesToString(d); }) // Returns two vals
  .enter()
  .append('tspan')
  .attr('x', 0)
  .attr('dx', '-1em')
  .attr('dy', function (d, i) { return (2 * i - 1) + 'em'; })
  .text(String);

此外,您必须在.tickFormat上将''设置为axis