D3.js XAxis标签问题

D3.js XAxis标签问题,d3.js,label,bar-chart,D3.js,Label,Bar Chart,下午好 我问您,当数据量很大(重叠层)并且您指示我插入新行(*)时,如何解决xAxis标签的问题,尽管我的slip函数有问题 有人对这个问题有意见 我的图表: 解决方案: var insertLinebreaks = function (d) { var el = d3.select(this); var words = d.split(' '); el.text(''); for (var i = 0; i < words.length; i++) {

下午好

我问您,当数据量很大(重叠层)并且您指示我插入新行(*)时,如何解决xAxis标签的问题,尽管我的slip函数有问题

有人对这个问题有意见

我的图表:

解决方案:

var insertLinebreaks = function (d) {
  var el = d3.select(this);
  var words = d.split(' ');
  el.text('');

  for (var i = 0; i < words.length; i++) {
    var tspan = el.append('tspan').text(words[i]);
    if (i > 0)
        tspan.attr('x', 0).attr('dy', '15');
  }
};

svg.selectAll('g.x.axis g text').each(insertLinebreaks);
var insertLinebreaks=函数(d){
var el=d3。选择(此项);
变量词=d.分割(“”);
el.文本(“”);
for(var i=0;i0)
tspan.attr('x',0).attr('dy','15');
}
};
svg.selectAll('g.x.axis g text')。每个(插入换行符);

我建议使用此解决方案:

旋转x轴的标签会一直工作,直到您有一个过多的条。如果酒吧的数量太多,我建议重新考虑一下桌子,因为任何人都不容易看到。如果你在谷歌上搜索信息可视化,有一些指导原则

要使轴的单位旋转为水平,请使用

.attr("transform", "rotate(-XX)")

关于特定文本元素XX度。

谢谢此解决方案非常适合我的问题。我只是有一个疑问,我怎么能用这个技巧插入xAxis的名字。对于正常的xAxis,我使用以下内容:.append(“text”).attr(“x”,width).attr(“dy”,30).attr(“text anchor”,“end”).text(“Generation”);但是对于totate标签,它不起作用。您可以使用.attr(“transform”,“rotate(-XX)”)将每个文本元素旋转XX度。所以,做你所做的,并添加变换旋转,你应该是所有设置!