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