Javascript 高位图表-在工具提示中动态放置元素

Javascript 高位图表-在工具提示中动态放置元素,javascript,highcharts,Javascript,Highcharts,我试图让高图表在其工具提示中动态放置元素。为了向您展示我的意思,请想象一个类似于此处的工具提示: 我想做的是让工具提示中的每个标签与其对应的点对齐。我看过格式化程序选项,但它似乎没有给你点的像素位置。通过四处搜索,我看到人们在某处引用了toPixels方法,但我似乎无法从格式化程序中的作用域中找到/访问它。理想情况下,我认为我的格式化程序应该如下所示: formatter: function() { return '<div style="position: absolute;

我试图让高图表在其工具提示中动态放置元素。为了向您展示我的意思,请想象一个类似于此处的工具提示:

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

formatter: function() {
    return '<div style="position: absolute; top: '
           + toPixels(this.point.plotY) + 'px">' + p.y + '</div>';
格式化程序:函数(){
返回“+p.y+”;

显然,这段代码需要适应共享工具提示,但希望您能理解。有什么方法可以完成我想做的吗?

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

格式化程序:函数(){
var points=此.points,
txt='';
$。每个(点、功能(i、p){
txt+='值:'+p.point.y+'像素:'+p.point.plotY+'
'; }); 返回txt; },
Awesome,这很有帮助。我正试图将每个点的文本放在点本身的旁边。通过使用您演示的内容,似乎我应该能够做到这一点,但无法做到。下面是我尝试根据文本的Y位置移动文本时对您的小提琴进行的更新:您看到我做错了什么吗?你是说数据标签吗?
formatter:function(){
        var points = this.points,
            txt = '';

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

        return txt;
    },