Javascript 截断时间轴中的长月份名称
我正在尝试解决如何在使用scaleTime数据范围绘制轴时更改数月的格式 我已经能够按预期管理布局,但我希望完整的月份名称被截断。请看下面的例子-我希望“二月”是“二月”。 其他日期都可以 我的axis代码摘要如下:Javascript 截断时间轴中的长月份名称,javascript,d3.js,Javascript,D3.js,我正在尝试解决如何在使用scaleTime数据范围绘制轴时更改数月的格式 我已经能够按预期管理布局,但我希望完整的月份名称被截断。请看下面的例子-我希望“二月”是“二月”。 其他日期都可以 我的axis代码摘要如下: const x = scaleTime() .domain(dateExtent) .rangeRound([marginSize.left, width - marginSize.right]); const xAxis = axisBottom(x)
const x = scaleTime()
.domain(dateExtent)
.rangeRound([marginSize.left, width - marginSize.right]);
const xAxis = axisBottom(x)
.ticks(timeDay.every(2))
.tickSizeOuter(0);
有没有一种方法可以为这些日期值提供格式?最简单、最快的方法就是使用
tickFormat
和所需的说明符,这样所有的记号都将具有相同的结构
但是,假设只希望更改边界标记(对于与相邻标记不匹配的格式,如前所述),则可以在轴生成器创建标记后获取标记并检查其值
例如,带有二月的轴,如您的轴:
const svg=d3.选择(“svg”);
常量scale=d3.scaleTime()
.范围([20580])
.域名([新日期(“2020年1月20日”)、新日期(“2020年2月10日”));
const axis=d3.axisBottom(scale)(svg.append(“g”).attr(“transform”,“translate(0,50)”))代码>
这是我试图控制的特定功能:月份边界设置为%B
,但它希望它是%B
。