Highcharts donut用于内外馅饼的独立工具提示

时间:2013-12-11 08:54:54

标签: javascript jquery highcharts

我正在构建一张Highcharts圆环图,其中包含每个馅饼的特定数据。工具提示数据在数据的深入部分内传递,并正确显示外环。

然而,内部工具提示由主数据变量传递,并显示悬停在最后一个外环上的工具提示。

我想指定内部工具提示的数据,如下所示:

data = [{
    y: 44.73,
    color: '#2f7ed8',
    drilldown: {
        name: 'Unknown',
        categories: ['Google', 'Unknown'],
        data: [0.00, 44.73],
        tooltip_data: ['Google tooltip', 'Unknown tooltip']
    }, 
    tooltip_inner: 'Inner Tooltip here'
} ...

我的问题是,我可以选择正在悬停的图形(内部或外部)并修改格式化程序返回的工具提示吗?如果我这样做,格式化程序将返回正确的数据:

tooltip: {
    useHTML: true,
    formatter: function() {
        return this.point.tooltip_data;
    }
}

将返回的数据切换到this.point.tooltip_inner适用于内部饼图但当然忽略外部。我需要能够切换从tooltip_data返回哪些点数据,如果是inner,则返回tooltip_inner。

每个切片的变量都在这里:http://jsfiddle.net/bQqM8/

编辑:小提琴现在包含工作示例,以防其他人需要这样做。

1 个答案:

答案 0 :(得分:0)

问题在于您创建数据的方式,让我们考虑一下:

        trafficData.push({
            name: categories[i],
            y: data[i].y,
            tooltip_inner: data[i].tooltip_inner,
            color: data[i].color,
            tooltip_data: data[i].tooltip_data // here you are getting tooltip.data
        });

并将其与您的数据进行比较:

data = [{
                y: 33.84,
                color: '#ff0000',
                drilldown: {
                    name: 'Downloads',
                    categories: ['News', 'P2P'],
                    data: [30.36, 3.48],
                    color: '#ff0000',
                    tooltip_data: ['News drilldown data here', 'P2P drilldown data here']
                },
                tooltip_inner: 'Inner Download Tooltip'
            },
 ... 
 { another point } ]

我没有在点对象中看到tooltip_data,只在钻取对象中看到。添加缺少的tooltip_data以便它可以正常工作。

相关问题