我正在使用d3轴组件,但我想在绘制之后调整一些东西。具体来说,我想通过向文本元素添加变换并将text-anchor属性从“middle”设置为“end”来旋转文本标签。
我遇到的问题是text-anchor属性似乎是由d3代码异步设置的,作为转换的一部分。当我在我的代码中将值设置为“end”时,它随后在转换运行时被设置回“中间”。
如果我等到转换结束后才进行更改,它会看起来不稳定。我想知道的是,是否有办法将自己插入到绘制和转换轴的过程中,以便使用我的文本锚值而不是默认值?
答案 0 :(得分:2)
这似乎无法从API中覆盖。一个简单但hacky的解决方案是在样式表中设置它......
.x.axis text {
text-anchor: end !important;
}
答案 1 :(得分:1)
我认为这构成了轴组件中的错误,所以我创建了一个拉{1}}的请求,而不是作为轴转换的一部分。文本元素的text-anchor属性无法进行插值,因此没有理由将更新推迟到转换,并立即设置它使您可以使用后选择轻松修复它。
另一种解决方法是扩展轴组件以支持不同类型的刻度标签。这样,您就不需要使用后选择,因此与轴转换没有冲突。