【问题标题】:Flot pie chart - label formatter function parameters?Flot 饼图 - 标签格式化程序函数参数?
【发布时间】:2014-04-16 11:45:35
【问题描述】:

在 google group 上发布了这个,但是帖子似乎已经消失了,所以会在这里尝试。

我有一个数据数组,用于填充浮动图表系列数据,一切正常。我现在想让图例和相关段都可以点击,这样我就可以“深入”到饼图中的更多细节,并显示另一个饼图,其中包含该段数据的细分。

标签格式化程序自定义函数显然是在哪里执行此操作,但它只接受标签和系列,并且系列似乎不包含每个系列对象的数组中的位置索引,因为它通过标签格式化程序功能。

我正在尝试做类似的事情:

function labelFormatter(label, series)
    return '<a href="#" onclick="myfunction(" + series.index + ")>" + label + "</a>"
}

...这样我就可以传递点击的片段详细信息。我想我可以只使用传递的标签,然后在原始数据数组中搜索匹配项,并使用该索引位置来计算单击的项目,但这似乎有点冗长。

我在这里缺少一些功能还是无法按照我尝试的方式进行操作?

【问题讨论】:

  • 我也是用冗长的方式完成的 - 似乎所有示例都类似于此复选框之一 -example

标签: flot


【解决方案1】:

默认情况下,图例会按照您提供的顺序显示系列。因此,您可以使用常规的 jQuery 循环将它们转换为链接,或者简单地添加点击侦听器。

$.each(".legend tr", function(i, row) {
    addDrillDownListener(row, series[i]);
});

使用饼图本身就更容易了,因为悬停和点击回调会接收一个带有 seriesIndex 属性的对象。

【讨论】:

  • 啊,谢谢。我是否只是在初始化浮动图表对象的地方设置了那个监听器?
  • 在调用 plot 之后,因为那是创建 .legend trs 的时间。当然 'addDrillDownListener' 不是 Flot 函数;这只是我的占位符,你想在那里做什么。
  • 请参阅stackoverflow.com/questions/23132958/…,了解我最终是如何做到这一点的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
相关资源
最近更新 更多