在my NVD3 chart here中,我已将X轴标签向下移动,以便与垂直对齐的日期一起移动。为此我做了:
xTicks.select('.nv-axislabel').attr("y", 90); // line # 81 in JS
现在的问题是,如果我使用右上角的控件隐藏任何系列,则此X轴标签会恢复到原始位置,这会使日期变差。
如何让它保持新的位置,不变?
答案 0 :(得分:2)
有些肮脏的解决方案,但可能已经足够好了:
更改标签的y
属性后,删除内部使用的类以选择标签并重置其属性:
xTicks.select('.nv-axislabel')
.attr("y", 90)
.classed({'nv-axislabel':false});
然后,就像看起来d3只是在不需要的位置创建一个新标签,你可以将它添加到CSS文件中:
.nv-x .nv-axislabel {
display:none;
}
我将其添加为规则,因为以编程方式(使用.style()
)执行此操作需要太长时间,您可以看到它闪烁。
答案 1 :(得分:2)
如果您更新NVD3库,请更新为版本1.1.11b
您可以使用旋转标签的内置功能。试试这个:
chart.xAxis
.tickPadding(-5).rotateLabels(-90);
将x
的{{1}}属性更改为.tick major > text
,以便将位置降低一点。
然后你不需要以下代码:
10
希望它有所帮助