0

我希望在图例下方放置一个(或两个)文本元素,与它的右侧对齐,但我无法获得一致的坐标。

警告:我是 SVG 的相对菜鸟。

我有一系列要显示图表的数据集。当我从一个移动到另一个时,我正在添加新系列并删除旧系列。每次更新后,我都会尝试在图例下方放置一个字符串,其中包括数据集的平均值。我遇到的问题是,每隔一次我查询 x & y 属性时,字符串就会出现在图表之外。另一半时间,我得到了完美的结果。

我用来放置这个字符串的代码是:

var tbl=table[3];
$('.usData').remove();

//get legend x & y
startX =  chart.legend.group.translateX;
endX = startX + chart.legend.legendWidth;
startY = chart.legend.group.translateY;
endY = startY + chart.legend.legendHeight;
$(tbl.usAvg).each(function(i){
chart.renderer.text("National Avg: " + formatData(this,tbl.format), endX, endY+(i*15)+15).attr({'text-anchor':'end',zIndex:12, class:'usData'}).add();

我认为正在发生的是传说开始于情节之外并被翻译成它的位置。因此,在完成渲染之前,我无法可靠地“获取”准确的坐标。

所以,我的问题: 有没有办法确定(事件)图例何时完成移动,还是我只需要包含超时并等待?

4

1 回答 1

0

我建议更简单的解决方案,将 useHTML 设置为图例。http://jsfiddle.net/aWFYr/1/

$('#btn').click(function(){

        $('.highcharts-legend').append('<div style="position:absolute;top:'+(chart.legend.legendHeight)+'px">aaa</div>');

    });
于 2013-02-27T10:06:50.560 回答