【问题标题】:Why tickSubdivide not working in d3js V 3.5.5 but working in d3js V2?为什么 tickSubdivide 不能在 d3js V 3.5.5 中工作,但在 d3js V2 中工作?
【发布时间】:2015-07-02 16:09:07
【问题描述】:

我正在尝试使用d3.svg.axis() 创建一个轴,但是当我尝试创建细分刻度时,轴没有改变。我已经阅读了一些相关文件,但他们无法帮助我弄清楚! This 是一个使用 d3.svg.axis().tickSubdidvie() 但仍然无法正常工作的示例。最后,我检查了 this 示例并发现 tickSubdidvie() 函数仅在 d3js V2 中工作,而在 d3js V3.5.5 中不工作。任何人都可以告诉我如何处理它吗?

完整的 jsfiddle link.

【问题讨论】:

  • 你想达到什么目的?您可以通过.tickValues()设置刻度值。
  • 我正在尝试创建细分刻度,通常我们使用tickSubdidvede() 函数。 This 我之前问过的一个问题。当我试图解决我的问题时,我遇到了一个新问题:为什么 tickSubdidvide() 函数在 d3js v3.5.5 中不起作用,但在 d3js v2 中起作用?我比较了两个不同版本的tickSubdidvide() 函数,但我无法处理。
  • 在当前版本的 D3 中您根本无法再执行此操作。它没有主要和次要刻度的概念。
  • 在 D3 v2 中非常简单,只需使用 tickSubdidvide() 函数和 .axis .minor 样式类并添加 tickSize() 函数,如您之前提到的,但问题是 V2 错过了一些功能,例如不能阅读csv 文件,所以我应该使用新版本。我的问题有什么解决办法吗?如何在新版 D3 中自定义tickSubdidvide()? D3的编程组从新版本中删除了这个羽毛或者它是一个错误有什么具体原因吗?

标签: d3.js


【解决方案1】:

绘制两个轴的替代方法是先绘制所有刻度,然后重新选择它们并根据它们的数据或索引值调整它们的样式。 执行此操作的新方法是使用多个轴,一个用于主要刻度,另一个用于次要刻度。您将选择也出现在主轴上的次要刻度并删除它们。 更多信息herehere

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2012-11-11
    • 2014-11-26
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多