0

凡例の下にテキスト要素 (または 2 つ) を右側に揃えて配置しようとしていますが、一貫した座標を取得できません。

警告: 私は 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 に答える