You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

D3折线图Y值变化早于对应X轴日期问题求助

问题解决:D3阶梯图数值显示位置错误

你的问题出在D3阶梯线的插值模式上:

  • D3默认的d3.step()使用'before'模式,这种模式下新数值会在对应日期的当天就开始绘制,导致70出现在4月20日的位置。
  • 要让数值在对应日期之后显示,需要将阶梯线的插值模式改为'after'。

修改step-chart.ts中的线生成器代码:

// 替换原来的curve(d3.step())
const line = d3.line()
  .x(d => xScale(d.date))
  .y(d => yScale(d.value))
  .curve(d3.stepAfter()); // 使用stepAfter模式

或者也可以用d3.step().type('after'),效果一致:

const line = d3.line()
  .x(d => xScale(d.date))
  .y(d => yScale(d.value))
  .curve(d3.step().type('after'));

这样修改后,数值70就会从4月21日对应的x轴位置开始向右绘制,符合你预期的显示效果。

内容的提问来源于stack exchange,提问作者Edayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:59:54