高图表 - 动态地将元素放在工具提示中

时间:2014-02-13 19:39:42

标签: javascript highcharts

我试图让High Charts动态地将元素放在其工具提示中。为了向您展示我的意思,想象一下像这里的工具提示:

http://jsfiddle.net/gn9zm/1/

我想要做的是让工具提示中的每个标签与其对应点对齐。我看过格式化程序选项,但它似乎没有给你一个点的像素位置。从搜索周围我看到人们在某处引用了toPixels方法,但我似乎无法从格式化程序中的范围中找到它/访问它。理想情况下,我认为我的格式化程序看起来像这样:

formatter: function() {
    return '<div style="position: absolute; top: '
           + toPixels(this.point.plotY) + 'px">' + p.y + '</div>';

显然,这段代码需要适应共享的工具提示,但希望你能得到这个想法。有没有办法可以完成我想要做的事情?

1 个答案:

答案 0 :(得分:0)

在格式化程序中,您需要在每个点(表单点数组)上使用循环,然后返回正确的值。在点对象中,您可以通过plotX / plotY参数访问像素值,因此您无需调用toPixels函数。

http://jsfiddle.net/gn9zm/6/

formatter:function(){
        var points = this.points,
            txt = '';

        $.each(points,function(i,p){
            txt += ' value: ' + p.point.y + ' pixels: ' + p.point.plotY + '<br/>';
        });

        return txt;
    },