如何让 D3 多个 Y 轴刻度线对齐?

How to get D3 Multiple Y-Axes Ticks to Line Up?

我正在尝试在多行时间序列上显示多个 Y 轴。您会在右侧的屏幕截图中看到,四个颜色编码的线条中的每一个都显示了 Y 轴刻度标签。

我想始终准确显示六个 ticks/labels。抑郁症、睡眠障碍、日常健康完美!他们显示 6 个标签。我希望 "Steps" 出现在完全相同的标记上。在这种情况下,它需要大约为 0、12000、26000、39000、52000 和 65000。你明白了。我无法弄清楚如何让所有的 Y 轴准确地显示为 6 个刻度,以便它们排列得很好。

注意:要显示的时间序列很多,根据用户的数据,Y域可能不同(一个人可能最多60,000步,另一个用户只有5,000步)。所以所有这些信息都是通过编程和动态确定的,我不能硬编码。

有什么帮助吗?

您应该使用 .tickValues(),在其中明确设置轴的值。根据此人的数据,创建一个包含 6 个值的数组 [0, (max * 1/5), (max * 2/5), ..., (max * 5/5)],并将其作为参数对于 tickValues