nvd3.js 图表重新渲染后 x 轴不旋转所有刻度标签

nvd3.js x-axis not rotating all tick labels after chart re-render

我有一个 nvd3 图表,我在其中按日、周或月对数据进行分组。当我在 x 轴上的值数量较少时,我不会旋转轴标签,但如果我有更多的刻度,我会旋转它们,这样它们就不会重叠。 我的问题是,当我有一个按周分组且刻度标签旋转的图表并将其更改为按月分组时,大多数标签都按预期变为水平,除了一个。如果我玩这些日期,我发现问题总是出现在 2016 年 2 月或 2014 年 12 月。 如果我从天分组开始按月分组,或者如果我刷新页面,图表将按预期显示。 见下图: chart by week, chart by month

有人知道我为什么会遇到这种问题吗?

好吧,我找到了解决问题的方法。 在 nv.models.axis 的轴图表函数中的文件 nv.d3 中有一个 if 语句,当标签设置为旋转时 运行 (if (rotateLabels % 360){...})。但是,如果标签未设置为旋转,则没有代码可以显式设置它,因此我在该 if 语句中添加了一个 else 语句来解决问题:

else {
  xTicks
  .attr('transform', 'rotate(0)')
  .style('text-anchor', 'middle');
}