4

我正在为我的 Google 饼图创建自定义图例,因为我需要更多控制。

我希望我的图例与图表的交互方式与默认图例完全相同。我可以将侦听器添加到选择相应切片的图例行中,例如:

myChart.setSelection([{row: selectedIdx]);

这会导致切片像我单击切片一样进行选择,也就是说,它将硬线渲染为距切片几个像素的位置。

没关系,但我真正想要的是复制切片鼠标悬停,即只是切片的“突出显示”。

我认为图表可能正在侦听鼠标悬停,然后检查事件以确定要突出显示的切片,因此我为其附加了一个 onmouseover 侦听器。这似乎是正确的,因为当我将鼠标悬停在一个饼片上时,传入的偶数是:

Object {row: 1, column: null}

在我的图例行侦听器中,然后我触发了图表鼠标悬停并传递了相同的事件:

google.visualization.events.trigger(myChart, 'onmouseover', {row: selectedIndex, column: null});

但这没有用。我还尝试通过显式创建 JS 对象以及在所选索引上使用 parseInt。在 Firefox 调试器中,从侦听器的角度来看,这两件事(实际的鼠标悬停、图例触发器)看起来完全相同,但只有实际的鼠标悬停导致切片突出显示。

这让我很困惑。任何人都知道如何做到这一点?理想情况下,我正在寻找类似的东西:

var slice = myChart.getSlice(someIndex);
slice.setHighlighted();

谢谢

4

1 回答 1

0

恐怕这在谷歌图表中是不可能的。但是,您可以编写代码来分解切片而不是突出显示。从用户的角度来看,它做同样的事情 IMO。

于 2013-10-11T08:54:57.903 回答