D3.js:我可以从刻度线偏移刻度标签吗?

D3.js:我可以从刻度线偏移刻度标签吗?,d3.js,label,D3.js,Label,我在D3.js中工作,我想画一个带有刻度线偏移刻度标签的轴 图像可能是解释这一点的最佳方式: 因此,白色记号线与一月/二月/三月记号标签不在同一位置,而是沿x轴偏移 我目前正在使用x轴的序数序列,并传入一组显式的tickvalue 我看不到任何方法可以从中的刻度标签偏移刻度线。我应该手动绘制刻度吗?这确实不受直接支持,但您有几个选项 可以有两个不同的轴,一个用于记号,另一个用于标签 你可以用大号和小号记号来破解它。请参阅对的第一个答案 可以显式选择标签并对其进行偏移。查看或的另一个答案 根

我在D3.js中工作,我想画一个带有刻度线偏移刻度标签的轴

图像可能是解释这一点的最佳方式:

因此,白色记号线与一月/二月/三月记号标签不在同一位置,而是沿x轴偏移

我目前正在使用x轴的序数序列,并传入一组显式的
tickvalue


我看不到任何方法可以从中的刻度标签偏移刻度线。我应该手动绘制刻度吗?

这确实不受直接支持,但您有几个选项

  • 可以有两个不同的轴,一个用于记号,另一个用于标签
  • 你可以用大号和小号记号来破解它。请参阅对的第一个答案
  • 可以显式选择标签并对其进行偏移。查看或的另一个答案

根据您想做什么,一种解决方案可能比其他解决方案更好。特别是,您需要考虑是否希望所有这些都能动态更新。

< P>您可能需要考虑使用,这对于支持此特性的D3轴组件有替换的下降。 使用D3FC,您可以将D3轴替换为D3FC顺序轴,如下所示:

const axis = fc.axisOrdinalBottom(scale);
D3FC顺序轴在每个条的中心渲染标签,并在其间渲染记号,如下所示:

全面披露-我是D3FC项目的维护者和积极贡献者