【问题标题】:Accessing non-axis data attributes in dimple.js在 dimple.js 中访问非轴数据属性
【发布时间】:2014-08-12 19:24:15
【问题描述】:

我最喜欢 d3 的一个方面是它将数据集合分组,在创建和绘制可视化的过程中的任何时候都可以轻松访问这些数据集合。

我选择了 Dimple 来构建一些更漂亮的图表,实现以下示例: http://dimplejs.org/advanced_examples_viewer.html?id=advanced_dynamic_line_color

我想在与数据点关联的 onclick 事件中访问我的数据的 ID 属性。不幸的是,通过凹坑传递给这些事件的唯一数据是轴坐标。

有没有简单的方法来获取dimple中数据的其余属性?

【问题讨论】:

    标签: d3.js dimple.js


    【解决方案1】:

    原因是dimple 会预先聚合数据,因此它不适用于原始数据行。实际上,dimple 网站上的所有示例都来自同一个 tsv,并且在每种情况下,dimple 都将数据聚合到不同的级别。这样做的好处是,这意味着您可以在任何聚合级别为折线图、面积图、气泡图、条形图或饼图使用非常相似的代码,而无需在自己的代码中进行任何数据操作。

    因此,如果您想要另一个字段,它必须是聚合的一部分,您可以在系列定义中包含任意数量的字段,这样:

      var lines = myChart.addSeries(null, dimple.plot.line); 
    

    可能变成:

      var lines = myChart.addSeries(["Brand", "Owner", "SKU", "Product"], dimple.plot.line); 
    

    这 4 个字段将是可访问的。

    请注意,将为这些尺寸值的每个不同组合绘制一条线,因此您不能使用此方法访问更精细的数据。

    【讨论】:

    • 谢谢,总结一下。尽管它确实让事情变得更简单、更清晰,但我希望我可以以更简单的方式将元数据附加到图表的数据点。
    • 如果您可以提供示例或可重现的数据,我相信dimple 的灵活性将使我们能够实现您的目标;让我们知道
    • 聚合后可能在每个数据行中包含一个源行数组。如果您有兴趣在库中看到,请在 GitHub 中创建一个问题
    • 我觉得它很有用,并在这里创建了一个问题 github.com/PMSI-AlignAlytics/dimple/issues/236,以及一个可能实现的 Pull Request (github.com/PMSI-AlignAlytics/dimple/pull/237)
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2014-05-04
    相关资源
    最近更新 更多