如何在 d3.axis.tickFormat 中换行?

nex*_*sun 4 javascript d3.js

我想编写一个函数,返回带有两行文本的刻度标签。正如我所看到的,svg 文本标签用于文本标签。有没有办法在那里添加 tspan 或者其他什么?

mus*_*_ut 5

您可以访问由以下内容创建的元素axis演示

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);
Run Code Online (Sandbox Code Playgroud)

另外,您还必须.tickFormat将.''axis